MonitorMixin::ConditionVariable

MonitorMixinMonitor のための ConditionVariable クラスです。 MonitorMixin#new_cond が返します。ユーザが MonitorMixin::ConditionVariable.new を直接呼ぶことはありません。

メソッド

broadcast

待っている全てのスレッドの実行を再開します。nil を返します。

count_waiters

待っているスレッドの数を返します。

signal

待っているスレッドがあれば実行を再開させます。nil を返します。

wait(timeout = nil)

現在のスレッドを停止します。timeout を与えない場合、 ConditionVariable#signal で起こされるまでスレッドは停止し続けます。 timeout を与えた場合は最大 timeout 秒まで停止した後にスレッドを 再開します。

true を返します。timeout が与えられていて待ち時間が timeout を 越えた場合は false を返します。

wait_while { ... }

block が真を返している間は ConditionVariable#signal で起こされても スレッドを停止し続けます。 block が偽を返すとスレッドを再開します。 true を返します。

wait_until { ... }

block が偽を返している間は ConditionVariable#signal で起こされても スレッドを停止し続けます。block が真を返すとスレッドを再開します。 true を返します。



rubyist ML