15.3.5 Event オブジェクト

イベントは、あるスレッドがイベントを発信し、他のスレッドはそれを 待つという、スレッド間で通信を行うための最も単純なメカニズムの一つです。

イベントオブジェクトは内部フラグを管理します。このフラグはset() メソッドで値を真に、clear()メソッドで値を偽にリセットします。 wait()メソッドはフラグがTrueになるまでブロックします。

クラス Event( )
内部フラグの初期値は偽です。

isSet( )
内部フラグの値が真である場合かつその場合にのみ真を返します。

set( )
内部フラグの値を真にセットします。 フラグの値が真になるのを待っている全てのスレッドを起こします。 一旦フラグが真になると、スレッドがwait() を呼び出しても 全くブロックしなくなります。

clear( )
内部フラグの値を偽にリセットします。 以降は、set() を呼び出して再び内部フラグの値を真にセットするまで、 wait() を呼出したスレッドはブロックするようになります。

wait( [timeout])
内部フラグの値が真になるまでブロックします。 wait() 処理に入った時点で内部フラグの値が真であれば、 直ちに処理を戻します。そうでない場合、他のスレッドがset()を 呼び出してフラグの値を真にセットするか、オプションのタイムアウトが 発生するまでブロックします。

timeout引数を指定して、None以外の値にする場合、 タイムアウトを秒 (または端数秒) を表す浮動小数点数でなければなりません。

ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。