ライブラリ
- ビルトイン (3)
- monitor (5)
- shell (1)
-
shell
/ process-controller (1) -
shell
/ system-command (1) - thread (2)
クラス
-
MonitorMixin
:: ConditionVariable (5) -
Process
:: Status (1) - Shell (1)
-
Shell
:: ProcessController (1) -
Shell
:: SystemCommand (1) - SignalException (2)
-
Thread
:: ConditionVariable (2)
キーワード
- broadcast (1)
- kill (2)
-
kill
_ job (1) - signaled? (1)
- signm (1)
- signo (1)
- wait (2)
-
wait
_ until (1) -
wait
_ while (1)
検索結果
先頭5件
-
Thread
:: ConditionVariable # signal -> self (72733.0) -
状態変数を待っているスレッドを1つ再開します。再開された スレッドは Thread::ConditionVariable#wait で指定した mutex のロックを試みます。
状態変数を待っているスレッドを1つ再開します。再開された
スレッドは 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)
... -
MonitorMixin
:: ConditionVariable # signal -> () (72607.0) -
その条件変数で待っているスレッドがあれば実行を再開させます。
その条件変数で待っているスレッドがあれば実行を再開させます。
複数のスレッドが待っている場合には1つのスレッドのみ
実行を再開します。
@see MonitorMixin::ConditionVariable#broadcast -
Process
:: Status # signaled? -> bool (36604.0) -
プロセスがハンドラを定義していないシグナルを受けて終了した場合に真 を返します。
プロセスがハンドラを定義していないシグナルを受けて終了した場合に真
を返します。 -
Thread
:: ConditionVariable # wait(mutex , timeout = nil) -> self (18370.0) -
mutex のロックを解放し、カレントスレッドを停止します。 Thread::ConditionVariable#signalまたは、 Thread::ConditionVariable#broadcastで送られたシグナルを 受け取ると、mutexのロックを取得し、実行状態となります。
mutex のロックを解放し、カレントスレッドを停止します。
Thread::ConditionVariable#signalまたは、
Thread::ConditionVariable#broadcastで送られたシグナルを
受け取ると、mutexのロックを取得し、実行状態となります。
@param mutex Thread::Mutex オブジェクトを指定します。
@param timeout スリープする秒数を指定します。この場合はシグナルを受け取
らなかった場合でも指定した秒数が経過するとスリープを終了
します。省略する... -
MonitorMixin
:: ConditionVariable # broadcast -> () (18322.0) -
その条件変数で 待っている全てのスレッドの実行を再開します。
その条件変数で
待っている全てのスレッドの実行を再開します。
@see MonitorMixin::ConditionVariable#signal -
MonitorMixin
:: ConditionVariable # wait(timeout = nil) -> bool (18322.0) -
モニタのロックを開放し、現在のスレッドを停止します。
モニタのロックを開放し、現在のスレッドを停止します。
これを呼ぶスレッドはモニタのロックを保持している必要があります。
MonitorMixin::ConditionVariable#signal や
MonitorMixin::ConditionVariable#broadcast
で起こされるまでスレッドは停止し続けます。
timeout を与えた場合は最大 timeout 秒まで停止した後にスレッドを
再開します。
実行を再開したスレッドはモニタのロックを保持した状態になります。
これによって危険領域(critical section)上で動作している
スレッドはただ一つになり... -
MonitorMixin
:: ConditionVariable # wait _ until { . . . } -> () (18322.0) -
モニタのロックを開放し、現在のスレッドを ブロックで指定した条件を満たすまで停止します。
モニタのロックを開放し、現在のスレッドを
ブロックで指定した条件を満たすまで停止します。
MonitorMixin::ConditionVariable#signal や
MonitorMixin::ConditionVariable#broadcast で
スレッドが起こされると、ロックを取得し、ブロックを評価し
その結果によってこのメソッドから抜け処理を継続するか
再びロックを開放しスレッドを停止するかを決めます。
@see MonitorMixin::ConditionVariable#wait -
MonitorMixin
:: ConditionVariable # wait _ while { . . . } -> () (18322.0) -
モニタのロックを開放し、現在のスレッドを ブロックで指定した条件を満たしている間停止します。
モニタのロックを開放し、現在のスレッドを
ブロックで指定した条件を満たしている間停止します。
MonitorMixin::ConditionVariable#signal や
MonitorMixin::ConditionVariable#broadcast で
スレッドが起こされると、ロックを取得し、ブロックを評価し
その結果によってこのメソッドから抜け処理を継続するか
再びロックを開放しスレッドを停止するかを決めます。
@raise ThreadError ロックを持っていないスレッドがこのメソッドを呼びだした場合に発生します
@see MonitorMixin::ConditionV... -
SignalException
# signo -> Integer (18022.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 (18004.0) -
self.message のエイリアスです。
self.message のエイリアスです。
//emlist[例][ruby]{
begin
Process.kill('HUP', Process.pid)
sleep
rescue SignalException => e
puts e.signm # => SIGHUP
end
//} -
Shell
:: SystemCommand # kill(signal) -> Integer (9625.0) -
自身のプロセスにシグナルを送ります。
自身のプロセスにシグナルを送ります。
@param signal シグナルを整数かその名前の文字列で指定します。
負の値を持つシグナル(あるいはシグナル名の前に-)を指定すると、
プロセスではなくプロセスグループにシグナルを送ります。
@see Process.#kill -
Shell
# kill(signal , job) -> Integer (625.0) -
@todo
@todo
ジョブにシグナルを送ります。
@param signal
@param job -
Shell
:: ProcessController # kill _ job(signal , command) -> Integer (625.0) -
指定されたコマンドにシグナルを送ります。
指定されたコマンドにシグナルを送ります。
@param signal シグナルを整数かその名前の文字列で指定します。
負の値を持つシグナル(あるいはシグナル名の前に-)を指定すると、
プロセスではなくプロセスグループにシグナルを送ります。
@param command コマンドを指定します。
@see Process.#kill