るりまサーチ

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

別のキーワード

  1. openssl new
  2. _builtin new
  3. rexml/document new
  4. resolv new
  5. socket new

ライブラリ

クラス

モジュール

キーワード

検索結果

Monitor#new_cond -> MonitorMixin::ConditionVariable (24317.0)

モニターに関連付けられた、新しい MonitorMixin::ConditionVariable を生成して返します。

...モニターに関連付けられた、新しい MonitorMixin::ConditionVariable を生成して返します。...

MonitorMixin#new_cond -> MonitorMixin::ConditionVariable (24317.0)

モニターに関連付けられた、新しい MonitorMixin::ConditionVariable を生成して返します。

...モニターに関連付けられた、新しい MonitorMixin::ConditionVariable を生成して返します。...

MonitorMixin::ConditionVariable (6048.0)

MonitorMixin と Monitor のための 条件変数クラスです。 MonitorMixin#new_cond が返します。ユーザが MonitorMixin::ConditionVariable.new を直接呼ぶことはありません。

...MonitorMixin と Monitor のための
条件変数クラスです。
MonitorMixin#new_cond が返します。ユーザが
MonitorMixin::ConditionVariable.new を直接呼ぶことはありません。...

Monitor (18.0)

スレッドの同期機構としてのモニター機能を提供するクラスです。 また同じスレッドから何度も lock できる Mutex としての機能も提供します。

...度も lock できる Mutex としての機能も提供します。

MonitorMixin を include し、いくつかの別名を定義したクラスです。

=== 例

//emlist[消費者、生産者問題の例][ruby]{
require 'monitor'

buf = []
mon = Monitor.new
empty_cond = mon.new_cond

# consumer...
...Thread.start do
loop do
mon.synchronize do
empty_cond.wait_while { buf.empty? }
print buf.shift
end
end
end

# producer
while line = ARGF.gets
mon.synchronize do
buf.push(line)
empty_cond.signal
end
end
//}

2回ロックしてもデッドロックにならない...
...'monitor'
mon = Monitor.new
mon.synchronize {
mon.synchronize {
}
}
//}

Thread::Mutex ではデッドロックになります。

//emlist[Mutex でデッドロックになる例][ruby]{
mx = Mutex.new
mx.synchronize {
mx.synchronize {
}
}
# => deadlock; recursive locking (ThreadError)
//}...