- 676 名前:デフォルトの名無しさん mailto:sage [2006/07/26(水) 18:21:59 ]
- >>675
Bが待機するところはそんな感じです。 あとまぁよく使うパターンとしては (1) AがBの仕事の完了を待たずににいくつもの仕事を投げておけるようにQueueに仕事を登録して SetEvent する。Bは起こされたら、Queueにある仕事を全て実行してからWaitする。 (2a) 「仕事終わったよイベント(初期値はON)」ってのも用意して、Bが仕事を終えたらSetEventする。Aは仕事終わったよイベントを待ってからBを起こす (2b) CreateSemaphoreでMaxCount 1 のセマフォを作って、AはWait,→仕事の準備→ReleaseSemaphore、 BはWait→仕事を取り出して実行→ReleaseSemaphore とする。 仕事が終わったかどうか知りたくなることも多いので、漏れは2aのパターンを多用します。 殆ど等価な 2b でもいいのかも知れない。
|

|