るりまサーチ

最速Rubyリファレンスマニュアル検索!
77件ヒット [1-77件を表示] (0.024秒)

別のキーワード

  1. conditionvariable wait
  2. conditionvariable signal
  3. _builtin conditionvariable
  4. conditionvariable new

ライブラリ

キーワード

検索結果

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

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

...て再開します。再開された
スレッドは Thread::ConditionVariable#wait
で指定した mutex のロックを試みます。

@return 常に self を返します。

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

3.times {
Thread.start {
mutex.synchro...
...nize {
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#broadcast -> () (21107.0)

その条件変数で 待っている全てのスレッドの実行を再開します。

...その条件変数で
待っている全てのスレッドの実行を再開します。

@see MonitorMixin::ConditionVariable#signal...

Thread::ConditionVariable#wait(mutex, timeout = nil) -> self (3066.0)

mutex のロックを解放し、カレントスレッドを停止します。 Thread::ConditionVariable#signalまたは、 Thread::ConditionVariable#broadcastで送られたシグナルを 受け取ると、mutexのロックを取得し、実行状態となります。

...mutex のロックを解放し、カレントスレッドを停止します。
Thread::ConditionVariable#signalまたは、
Thread::ConditionVariable#broadcastで送られたシグナルを
受け取ると、mutexのロックを取得し、実行状態となります。

@param mutex Thread::Mutex...
...ます。この場合はシグナルを受け取
らなかった場合でも指定した秒数が経過するとスリープを終了
します。省略するとスリープし続けます。

@see Thread::ConditionVariable#signal, Thread::ConditionVariable#broadcast...
...mutex のロックを解放し、カレントスレッドを停止します。
Thread::ConditionVariable#signalまたは、
Thread::ConditionVariable#broadcastで送られたシグナルを
受け取ると、mutexのロックを取得し、実行状態となります。

@param mutex Mutex オブ...

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

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

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

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

timeout を与えた場合は最大 timeout 秒ま...
...での秒数。指定しなかった場合はタイムアウトしません。

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

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

MonitorMixin::ConditionVariable#wait_until { ... } -> () (3024.0)

モニタのロックを開放し、現在のスレッドを ブロックで指定した条件を満たすまで停止します。

...、現在のスレッドを
ブロックで指定した条件を満たすまで停止します。

MonitorMixin::ConditionVariable#signal や
MonitorMixin::ConditionVariable#broadcast
スレッドが起こされると、ロックを取得し、ブロックを評価し
その結果によってこ...
...のメソッドから抜け処理を継続するか
再びロックを開放しスレッドを停止するかを決めます。

@see MonitorMixin::ConditionVariable#wait...

絞り込み条件を変える

MonitorMixin::ConditionVariable#wait_while { ... } -> () (3024.0)

モニタのロックを開放し、現在のスレッドを ブロックで指定した条件を満たしている間停止します。

...在のスレッドを
ブロックで指定した条件を満たしている間停止します。

MonitorMixin::ConditionVariable#signal や
MonitorMixin::ConditionVariable#broadcast
スレッドが起こされると、ロックを取得し、ブロックを評価し
その結果によってこ...
...のメソッドから抜け処理を継続するか
再びロックを開放しスレッドを停止するかを決めます。

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

MonitorMixin::ConditionVariable#signal -> () (3012.0)

その条件変数で待っているスレッドがあれば実行を再開させます。

...その条件変数で待っているスレッドがあれば実行を再開させます。

複数のスレッドが待っている場合には1つのスレッドのみ
実行を再開します。

@see MonitorMixin::ConditionVariable#broadcast...