同等の機能性を実行する私のそのようなコードをGNU/Linuxに左舷に取るとき最後のポストで私はmutexesおよび可能な方法に関連してWaitForSingleObjectの使用を論議した。 このポストで私はマイクロソフト・ウインドウズででき事の目的とのこのAPIの使用を記述し、GNU/LinuxかUnixにそのようなコードを掲示する可能な方法を提案する。
最初に、でき事の背景は反対する。 でき事の目的はちょうどもう一つのタイプのWindowsの穀粒のディスパッチャーの目的である。 prespectiveコーディングからでき事の目的は1つ以上の穀粒のディスパッチャーの目的を内部に閉じ込め、同時性の意味論がWaitForSingleObjectおよびいとこによって入手しやすい同時性の目的である。 常に同時性の目的はnonsignaledか、または信号を送られる、すなわち目的は2つの可能な州の1つだけにある場合もある。
目的のハンドルのWaitForSingleobjectの待ち時間またはある指定規準までのハンドルを含むAPIsのWaitForの系列すべては会う。 すべてのこれらのAPIsのための2つの基本的な規準はハンドルの待っていて、タイムアウトの値目的の信号を送られた状態である。 従って指定目的が信号を送られた州か指定タイムアウトを書き入れるまでこのAPIの待ち時間を呼ぶ糸は切れた。 ほとんどCPU時間はそのような糸が待ち状態にあるとき使用される。
でき事の場合には、CreateEventかOpenEventはでき事の目的にハンドルを戻す。 でき事は信号を送られた州にあるときそれができ事信号を送られるべきこの特定のでき事を待っている1つ以上の糸を解放する容量を有することを意味する。 でき事はnonsignaled州にあるとき待っている糸を解放しない。 最初にでき事の状態はnonsignaled。 でき事の目的の状態はSetEventかPulseEventによって信号を送られるに明確に置かれる。 でき事の目的はソケットから読むことのような重複された操作でもでき事の目的州が適用によってよりもむしろ穀粒によって信号を送られるに置かれれば、使用される。
でき事はまた2つの再調節されたタイプ入って来。 でき事が手動調整のでき事なら、WaitForSingleObjectsのすべてのリターンそう形成されたらそのでき事を待っている。 つまりWaitForSingleObjectかいとこ手動調整のでき事は1つ以上によって行為を誘発できる。 手動調整のでき事の目的の状態はResetEventによってnonsignaledに明確に再調節されなければならない。
オートリセットでき事の目的のために、WaitForSingleObjectおよびそれは関係再調節されたである

























