るりまサーチ

最速Rubyリファレンスマニュアル検索!
22件ヒット [1-22件を表示] (0.071秒)
トップページ > クエリ:l[x] > クエリ:FALSE[x] > クエリ:broadcast[x]

別のキーワード

  1. kernel $-l
  2. matrix l
  3. lupdecomposition l
  4. _builtin $-l
  5. l matrix

検索結果

Thread::ConditionVariable#broadcast -> self (21213.0)

状態変数を待っているスレッドをすべて再開します。再開された スレッドは Thread::ConditionVariable#wait で指定した mutex のロックを試みます。

...ad::ConditionVariable#wait
で指定した mutex のロックを試みます。

@return 常に self を返します。

//emlist[例][ruby]{
mutex = Mutex.new
cv = ConditionVariable.new
flg = true

3.times {
Thread.start {
mutex.synchronize {
puts "a1"
while (flg)
cv.wait(...
...mutex)
end
puts "a2"
}
}
}

Thread.start {
mutex.synchronize {
flg = false
cv.broadcast
}
}

sleep 1

# => a1
# => a1
# => a1
# => a2
# => a2
# => a2
//}...

MonitorMixin::ConditionVariable#wait(timeout = nil) -> bool (3112.0)

モニタのロックを開放し、現在のスレッドを停止します。

...を呼ぶスレッドはモニタのロックを保持している必要があります。

MonitorMixin::ConditionVariable#signal
MonitorMixin::ConditionVariable#broadcast
で起こされるまでスレッドは停止し続けます。

timeout を与えた場合は最大 timeout 秒まで停...
...す。
これによって危険領域(critical section)上で動作している
スレッドはただ一つになり、排他を実現します。

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

@param timeout タイム...
...での秒数。指定しなかった場合はタイムアウトしません。

@raise ThreadError ロックを持っていないスレッドがこのメソッドを呼びだした場合に発生します

@see MonitorMixin::ConditionVariable#wait_while, MonitorMixin::ConditionVariable#wait_until...