るりまサーチ

最速Rubyリファレンスマニュアル検索!
24件ヒット [1-24件を表示] (0.097秒)
トップページ > 種類:インスタンスメソッド[x] > クエリ:mutex[x] > クエリ:sleep[x] > クラス:Thread::ConditionVariable[x]

別のキーワード

  1. mutex_m lock
  2. mutex_m unlock
  3. mutex_m mu_lock
  4. mutex_m locked?
  5. mutex_m try_lock

ライブラリ

キーワード

検索結果

Thread::ConditionVariable#broadcast -> self (54.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
.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
//}...

Thread::ConditionVariable#signal -> self (54.0)

状態変数を待っているスレッドを1つ再開します。再開された スレッドは 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
.synchronize {
puts "a1"...
...while (flg)
cv.wait(mutex)
end
puts "a2"
}
}
}

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

sleep
1

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