# MonitorMixin::ConditionVariable

MonitorMixin と Monitor のための 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 を返します。

links: [Monitor] [MonitorMixin]
reverse links: [MonitorMixin] [monitor.rb]