私は最近、C# での EventWaitHandle の強力な動作の光を見て、同じことを行うために姉妹アプリケーションの一部の機能を移動することにしました。唯一の問題は、姉妹アプリが C で記述されていることです。
大したことではありません。シグナルを許可する pthread_cond_t データ型を持つ pthreads を使用しています。私の唯一の質問は、何かが待っている前に条件を「通知」することは可能ですか?
現在、私のテストではノーと言われています。つまり、ThreadB が待機する前に ThreadA がシグナルを起動すると、ThreadB は無期限に待機します。C# の EventWaitHandle の機能により近い動作をする、使用できる別の pthread タイプはありますか? オブジェクトはシグナル状態です。これは、オブジェクトを待機する最初のスレッドがすぐに渡され、シグナルなしに設定されることを意味します。
pthread_cond を別のデータ構造にラップすることは、これを達成するのにそれほど難しくありません。繰り返しになりますが、この機能は pthread ライブラリで既に利用可能ですか?