種類
- インスタンスメソッド (87)
- モジュール関数 (77)
- 特異メソッド (44)
- クラス (42)
- モジュール (11)
クラス
- Mutex (6)
-
Process
:: Status (11) - SignalException (55)
- Thread (14)
-
Thread
:: ConditionVariable (18) -
Thread
:: Mutex (27)
キーワード
- ConditionVariable (9)
- Interrupt (11)
- SignalException (11)
- Status (11)
-
handle
_ interrupt (11) -
ignore
_ deadlock= (3) - kill (11)
- list (11)
- lock (11)
- new (33)
- signal (9)
- signaled? (11)
- signame (11)
- signm (11)
- signo (11)
- synchronize (11)
- trap (44)
- unlock (11)
- wait (9)
検索結果
先頭5件
-
Thread
:: ConditionVariable # wait(mutex , timeout = nil) -> self (24.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... -
Interrupt (8.0)
-
SIGINT シグナルを捕捉していないときに SIGINT シグナルを受け取ると発生します。 SIGINT 以外のシグナルを受信したときに発生する例外については SignalException を参照してください。
...ます。
SIGINT 以外のシグナルを受信したときに発生する例外については
SignalException を参照してください。
使用例
=begin
#SIGINTを捕捉したい場合
Signal.trap('INT'){
print "\nINTを捕捉した。\n"
exit 1
}
=end
begin
begin... -
Mutex
# lock -> self (8.0) -
mutex オブジェクトをロックします。一度に一つのス レッドだけが mutex をロックできます。既にロックされている mutex に対してロックを行おうとしたスレッドは mutex のロックが解放さ れるまで、実行が停止されます。
...す。
@raise ThreadError self 既にカレントスレッドにロックされている場合に発
生します。
また、Signal.#trap に指定したハンドラ内で実行
した場合に発生します。
@see Thread::Mutex#unlock... -
Mutex
# synchronize { . . . } -> object (8.0) -
mutex をロックし、ブロックを実行します。実行後に必ず mutex のロックを解放します。
...eadError self 既にカレントスレッドにロックされている場合に発
生します。
また、Signal.#trap に指定したハンドラ内で実行
した場合に発生します。
//emlist[例][ruby]{
m = Mutex.new
result = m.... -
Mutex
# unlock -> self (8.0) -
mutex のロックを解放します。mutex のロック待ちになっていたスレッドの実行は再開されます。
...ThreadError self がロックされていない場合や self をロックしたス
レッド以外から呼ばれた場合に発生します。
また、Signal.#trap に指定したハンドラ内で実行
した場合に発生します。... -
Thread
# ignore _ deadlock=(bool) (8.0) -
デッドロック検知を無視する機能をon/offします。デフォルト値は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_deadlock... -
Thread
. handle _ interrupt(hash) { . . . } -> object (8.0) -
スレッドの割り込みのタイミングを引数で指定した内容に変更してブロックを 実行します。
...した内容に変更してブロックを
実行します。
「割り込み」とは、非同期イベントや Thread#raise や
Thread#kill、Signal.#trap(未サポート)、メインスレッドの終了
(メインスレッドが終了すると、他のスレッドも終了されます)を意... -
Thread
:: Mutex # lock -> self (8.0) -
mutex オブジェクトをロックします。一度に一つのス レッドだけが mutex をロックできます。既にロックされている mutex に対してロックを行おうとしたスレッドは mutex のロックが解放さ れるまで、実行が停止されます。
...す。
@raise ThreadError self 既にカレントスレッドにロックされている場合に発
生します。
また、Signal.#trap に指定したハンドラ内で実行
した場合に発生します。
@see Thread::Mutex#unlock... -
Thread
:: Mutex # synchronize { . . . } -> object (8.0) -
mutex をロックし、ブロックを実行します。実行後に必ず mutex のロックを解放します。
...eadError self 既にカレントスレッドにロックされている場合に発
生します。
また、Signal.#trap に指定したハンドラ内で実行
した場合に発生します。
//emlist[例][ruby]{
m = Mutex.new
result = m.... -
Thread
:: Mutex # unlock -> self (8.0) -
mutex のロックを解放します。mutex のロック待ちになっていたスレッドの実行は再開されます。
...ThreadError self がロックされていない場合や self をロックしたス
レッド以外から呼ばれた場合に発生します。
また、Signal.#trap に指定したハンドラ内で実行
した場合に発生します。...