![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
HP-UX上でCを使ってpthreadプログラムを記述しています。
mutexを競合するスレッドが2つあり、
A) pthread_mutex_lock(&mutex)
B) pthread_mutex_lock(&mutex)
A) pthread_mutex_unlock(&mutex)
の流れで処理が流れています。
この時、A)がlockを解放してからB)がlockを獲得できるまで(=pthread_mutex_lockの応答が返ってくるまで)に多少の時間がかかってしまうことはありうるのでしょうか。(現在発生している事象では、0.002秒程度)
マシン性能にも拠ると思いますし、B)スレッドが再開するときのCPU割り当てに時間がかかった等も考えられるのかとは思いますが、スレッドライブラリとしての動きが知りたいです。
No.1ベストアンサー
- 回答日時:
>多少の時間がかかってしまうことはありうるのでしょうか
ありうるでしょうね。スレッドがスリープ状態になり、起床のタイミングはOS任せになるでしょう。
それが問題になるケースの為に、スピンロック用のI/Fがあるようですから。
http://codezine.jp/article/detail/1893?p=2
回答ありがとうございました。
spinlock用の関数もあったんですね。当方の現在のプログラムでspinして待つことは良くないと考えますが、リンクにあるspinとmutexの比較説明でpthreadライブラリについての理解が深まりました。
参考にさせていただきます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java Java 南京錠 2 2023/02/04 11:46
- ノートパソコン chromebookのcaps lockが外れなくなった 5 2022/07/14 19:23
- マウス・キーボード キーボードのCaps Lockキーと変換キーの挙動がおかしくなりました。 4 2022/09/04 22:44
- iPhone(アイフォーン) 特定の時間、特定のアプリを完全に使用禁止にするアプリ。iPhone 2 2023/04/22 04:40
- ダンス・バレエ ラジオ体操第1のリミックス系で、Lockダンスが踊れそうな音源ありませんか……?? 1 2023/02/05 17:25
- アイドル・グラビアアイドル SnowMan 1 2022/07/16 10:45
- その他(学校・勉強) この中で間違ってある説明はありますか?詳しい方に教えていただきたいです。 A. 1つのプログラムが複 2 2023/07/14 01:15
- UNIX・Linux shellscript内のコマンドを、sudo(toor)として実行 2 2022/09/23 15:05
- 英語 訳を教えてください。 4 2022/08/24 15:41
- マウス・キーボード scroll Lockキーを解除したけれど。 1 2022/09/16 09:23
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
pthread_mutex_lock の応答時間
-
メインスレッドのPostMessageと...
-
同一スレッドで、ロックをかけ...
-
スレッドの監視方法について
-
スレッドにて同一メモリの書き...
-
WaitForSingleObjectの使い方に...
-
Win32APIでのスレッド処理
-
Windows上で、シグナル(SIGTERM...
-
スレッドの終了の仕方
-
VC++スレッドの正しい終了のさ...
-
msec単位のWait Timerが作れない!
-
別スレッドからメインダイアロ...
-
スレッド終了を待つ間に開放さ...
-
スレッドがサスペンドされてい...
-
pthread_cond_wait 取りこぼし?
-
スレッドの終了はどうやるんで...
-
スレッドの安全な終了のさせ方
-
_beginthreadexで生成したスレ...
-
C++でマルチスレッド処理をさせ...
-
C言語で一定時間待機後、再実行
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
WaitForSingleObjectの使い方に...
-
VC++スレッドの正しい終了のさ...
-
スレッドの監視方法について
-
スレッドの安全な終了のさせ方
-
Windows上で、シグナル(SIGTERM...
-
マルチスレッドプログラミング...
-
スレッドの終了の仕方
-
スレッドにて同一メモリの書き...
-
VB2005 シリアル通信のClose処理
-
スレッドの終了はどうやるんで...
-
スレッドでWM_TIMERを受け取れない
-
同一スレッドで、ロックをかけ...
-
マルチスレッドのスレッド数を...
-
WaitForMultipleObjectのイベン...
-
MFC通信プログラムマルチスレッ...
-
CWnd::OnTimerのスレッドの取得
-
待機関数(WaitForMultipleObjec...
-
LinuxでDoEvents()同等機能
-
【VC++6.0(MFC)】スレッドの呼...
-
pthread_cond_wait 取りこぼし?
おすすめ情報