るりまサーチ

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

別のキーワード

  1. rbconfig ruby
  2. fiddle ruby_free
  3. fiddle build_ruby_platform
  4. rake ruby
  5. rubygems/defaults ruby_engine

ライブラリ

クラス

キーワード

検索結果

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

Mutex#synchronize { ... } -> object (19.0)

mutex をロックし、ブロックを実行します。実行後に必ず mutex のロックを解放します。

...す。

@
raise ThreadError self 既にカレントスレッドにロックされている場合に発
生します。
また、Signal.#trap に指定したハンドラ内で実行
した場合に発生します。

//emlist[例][ruby]{
m = Mut...

Thread#ignore_deadlock=(bool) (19.0)

デッドロック検知を無視する機能をon/offします。デフォルト値はfalseです。

...

trueを渡すとデッドロックを検知しなくなります。

//emlist[][ruby]{
Thread.ignore_deadlock = true
queue = Thread::Queue.new

trap(:SIGUSR1){queue.push "Received signal"}

# ignore_deadlockがfalseだとエラーが発生する
puts queue.pop
//}

@
see Thread#ignore_deadlock...

Thread::Mutex#synchronize { ... } -> object (19.0)

mutex をロックし、ブロックを実行します。実行後に必ず mutex のロックを解放します。

...す。

@
raise ThreadError self 既にカレントスレッドにロックされている場合に発
生します。
また、Signal.#trap に指定したハンドラ内で実行
した場合に発生します。

//emlist[例][ruby]{
m = Mut...