52件ヒット
[1-52件を表示]
(0.083秒)
別のキーワード
クラス
- Mutex (2)
- SignalException (24)
- Thread (4)
-
Thread
:: ConditionVariable (12) -
Thread
:: Mutex (10)
キーワード
-
ignore
_ deadlock= (4) - signm (12)
- signo (12)
- synchronize (12)
検索結果
先頭5件
-
Thread
:: ConditionVariable # signal -> self (18114.0) -
状態変数を待っているスレッドを1つ再開します。再開された スレッドは Thread::ConditionVariable#wait で指定した mutex のロックを試みます。
...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
}
}
sle... -
SignalException
# signo -> Integer (3013.0) -
self のシグナル番号を返します。
...self のシグナル番号を返します。
//emlist[例][ruby]{
p Signal.signame(1) # => "HUP"
begin
Process.kill('HUP', Process.pid)
sleep
rescue SignalException => e
p e.signo # => 1
end
//}... -
SignalException
# signm -> String (3007.0) -
self.message のエイリアスです。
...self.message のエイリアスです。
//emlist[例][ruby]{
begin
Process.kill('HUP', Process.pid)
sleep
rescue SignalException => e
puts e.signm # => SIGHUP
end
//}... -
Mutex
# synchronize { . . . } -> object (13.0) -
mutex をロックし、ブロックを実行します。実行後に必ず mutex のロックを解放します。
...れている場合に発
生します。
また、Signal.#trap に指定したハンドラ内で実行
した場合に発生します。
//emlist[例][ruby]{
m = Mutex.new
result = m.synchronize do
m.locked? # => true
# critical part
"r... -
Thread
# ignore _ deadlock=(bool) (13.0) -
デッドロック検知を無視する機能をon/offします。デフォルト値はfalseです。
...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... -
Thread
:: Mutex # synchronize { . . . } -> object (13.0) -
mutex をロックし、ブロックを実行します。実行後に必ず mutex のロックを解放します。
...れている場合に発
生します。
また、Signal.#trap に指定したハンドラ内で実行
した場合に発生します。
//emlist[例][ruby]{
m = Mutex.new
result = m.synchronize do
m.locked? # => true
# critical part
"r...