るりまサーチ

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

別のキーワード

  1. io popen
  2. io pipe
  3. io each
  4. io readlines
  5. io each_line

検索結果

<< 1 2 3 > >>

Thread::ConditionVariable#signal -> self (24107.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.synchr...
...onize {
puts "a1"
while (flg)
cv.wait(mutex)
end
puts "a2"
}
}
}

Thread.start {
mutex.synchronize {
flg = false
cv.signal
}
}

sleep 1

# => a1
# => a1
# => a1
# => a2
//}...

MonitorMixin::ConditionVariable#signal -> () (24101.0)

その条件変数で待っているスレッドがあれば実行を再開させます。

...その条件変数で待っているスレッドがあれば実行を再開させます。

複数のスレッドが待っている場合には1つのスレッドのみ
実行を再開します。

@see MonitorMixin::ConditionVariable#broadcast...

SignalException (18000.0)

捕捉していないシグナルを受け取ったときに発生します。

...に発生します。

実際に発生したシグナル名は、
Exception#message から
「"SIG" + シグナル名」という形で得られます。

デフォルトの状態では、
以下のシグナルが SignalException を発生させます。

* SIGALRM
* SIGHUP
* SIGINT (※ただ...
...し以下参照)
* SIGQUIT
* SIGUSR1
* SIGUSR2
* SIGTERM

なお、SIGINT シグナルを受けた場合は SignalException の下位クラスである
Interrupt が発生します。...

Thread::ConditionVariable (12024.0)

スレッドの同期機構の一つである状態変数を実現するクラスです。

...の一つである状態変数を実現するクラスです。

以下も ConditionVariable を理解するのに参考になります。

https://ruby-doc.com/docs/ProgrammingRuby/html/tut_threads.html#UF

=== Condition Variable とは

あるスレッド A が排他領域で動いていたとし...
...況を解決するのが Condition Variable です。

スレッド a で条件(リソースが空いているかなど)が満たされるまで wait メソッドで
スレッドを止めます。他のスレッド b において条件が満たされたなら signal
メソッドでスレッド a に...
...対して条件が成立したことを通知します。これが典型的な
使用例です。

mutex = Mutex.new
cv = ConditionVariable.new

a = Thread.start {
mutex.synchronize {
...
while (条件が満たされない)
cv.wait(mutex)...

SignalException.new(sig_name) -> SignalException (9330.0)

引数で指定したシグナルに関する SignalException オブジェクトを生成して返 します。

...引数で指定したシグナルに関する SignalException オブジェクトを生成して返
します。

引数は Signal.#list に含まれるもののいずれかを指定する必要があり
ます。

@param sig_name シグナル名を Symbol オブジェクト、文字列のいずれ...
...ます。

//emlist[例][ruby]{
signal
_number = Signal.list["INT"]
se = SignalException.new(signal_number) # => #<SignalException: SIGINT>
se.signo # => 2
//}

//emlist[例][ruby]{
se = SignalException.new("INT") # => #<SignalException: SIGINT>
se.signm # => "SIGINT"
//}

@see Signal.#list...

絞り込み条件を変える

SignalException.new(sig_number) -> SignalException (9330.0)

引数で指定したシグナルに関する SignalException オブジェクトを生成して返 します。

...引数で指定したシグナルに関する SignalException オブジェクトを生成して返
します。

引数は Signal.#list に含まれるもののいずれかを指定する必要があり
ます。

@param sig_name シグナル名を Symbol オブジェクト、文字列のいずれ...
...ます。

//emlist[例][ruby]{
signal
_number = Signal.list["INT"]
se = SignalException.new(signal_number) # => #<SignalException: SIGINT>
se.signo # => 2
//}

//emlist[例][ruby]{
se = SignalException.new("INT") # => #<SignalException: SIGINT>
se.signm # => "SIGINT"
//}

@see Signal.#list...

SignalException.new(sig_number, sig_name) -> SignalException (9330.0)

引数で指定したシグナルに関する SignalException オブジェクトを生成して返 します。

...引数で指定したシグナルに関する SignalException オブジェクトを生成して返
します。

引数は Signal.#list に含まれるもののいずれかを指定する必要があり
ます。

@param sig_name シグナル名を Symbol オブジェクト、文字列のいずれ...
...ます。

//emlist[例][ruby]{
signal
_number = Signal.list["INT"]
se = SignalException.new(signal_number) # => #<SignalException: SIGINT>
se.signo # => 2
//}

//emlist[例][ruby]{
se = SignalException.new("INT") # => #<SignalException: SIGINT>
se.signm # => "SIGINT"
//}

@see Signal.#list...

SignalException#signo -> Integer (9006.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 (9000.0)

self.message のエイリアスです。

...self.message のエイリアスです。

//emlist[例][ruby]{
begin
Process.kill('HUP', Process.pid)
sleep
rescue SignalException => e
puts e.signm # => SIGHUP
end
//}...

Thread::ConditionVariable#wait(mutex, timeout = nil) -> self (6022.0)

mutex のロックを解放し、カレントスレッドを停止します。 Thread::ConditionVariable#signalまたは、 Thread::ConditionVariable#broadcastで送られたシグナルを 受け取ると、mutexのロックを取得し、実行状態となります。

...mutex のロックを解放し、カレントスレッドを停止します。
Thread::ConditionVariable#signalまたは、
Thread::ConditionVariable#broadcastで送られたシグナルを
受け取ると、mutexのロックを取得し、実行状態となります。

@param mutex Mutex オブ...
...ます。この場合はシグナルを受け取
らなかった場合でも指定した秒数が経過するとスリープを終了
します。省略するとスリープし続けます。

@see Thread::ConditionVariable#signal, Thread::ConditionVariable#broadcast...

絞り込み条件を変える

<< 1 2 3 > >>