4

自動リセットイベントオブジェクトがあり、それを待機しているスレッドが1つあります。ここでSetEventを呼び出すと、SetEventが戻ったときにイベントオブジェクトが通知されないことが保証されますか?

ABAB-...の方法で実行される2つのスレッドがあります。AがBを起こすとすぐに、AはBを待ち始めます。信号を送った直後に同じイベントオブジェクトを待つことができれば、まあ...1つのイベントオブジェクトを保存できます。

なぜ私が単一のスレッドを使用しないのかと尋ねると、それらは異なるプロセスにあります。

4

2 に答える 2

4

ウェイターが解放されると、イベントは非シグナルになります。SetEventへの呼び出しが戻る前にウェイターが解放されるという保証はありません。

于 2012-04-24T13:08:05.467 に答える
0

一般的に、いいえ。その時までに、別のスレッドがそれを通知している可能性があり、待機しているスレッドがなければ、設定されたままになります。スレッドが 2 つだけの場合は、おそらく問題ありません。

なぜそのような「最適化」に煩わされているのですか。2 つのイベントを使用すると、デバッグが容易になります。

複数のスレッド、スレッド間、プロセス間の通信は、そのままでは十分に困難です。これ以上複雑にしないでください。

于 2012-04-24T13:14:01.920 に答える