42件ヒット
[1-42件を表示]
(0.077秒)
種類
- クラス (24)
- インスタンスメソッド (18)
ライブラリ
- monitor (42)
クラス
- Monitor (6)
モジュール
- MonitorMixin (12)
キーワード
- ConditionVariable (12)
- Monitor (12)
検索結果
先頭4件
-
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)
//}...