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ランキング
-
スレッドの監視方法について
-
VC++スレッドの正しい終了のさ...
-
CWnd::OnTimerのスレッドの取得
-
特定のスレッドの破棄
-
スレッドにて同一メモリの書き...
-
WaitForSingleObjectの使い方に...
-
volatile の使い方
-
マルチスレッドの実行順序の制御
-
LinuxでDoEvents()同等機能
-
同一スレッドで、ロックをかけ...
-
pthread_cond_wait 取りこぼし?
-
VB2005 シリアル通信のClose処理
-
Windows上で、シグナル(SIGTERM...
-
Macターミナルで実行中のプログ...
-
VBAの配列サイズとメモリに関して
-
緯度、経度の 10進法と 60進法...
-
C言語で、メモリを解放しないで...
-
TCP/IP通信時のサーバーからの受信
-
バックグラウンドのプロセスの...
-
プログラミング ソースコード
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
WaitForSingleObjectの使い方に...
-
VC++スレッドの正しい終了のさ...
-
スレッドの監視方法について
-
スレッドの安全な終了のさせ方
-
スレッドにて同一メモリの書き...
-
Windows上で、シグナル(SIGTERM...
-
スレッドの終了の仕方
-
スレッドの終了はどうやるんで...
-
VB2005 シリアル通信のClose処理
-
マルチスレッドプログラミング...
-
.netアプリへのSendMessageでフ...
-
マルチスレッドについて
-
Linuxでスレッド優先度って変え...
-
Win32APIでのスレッド処理
-
pthread_cond_wait 取りこぼし?
-
LinuxでDoEvents()同等機能
-
C++ GUIのメッセージループ。
-
excelvbaでCreateThreadの動作
-
マルチスレッドの実行順序の制御
-
同一スレッドで、ロックをかけ...
おすすめ情報