るりまサーチ

最速Rubyリファレンスマニュアル検索!
22件ヒット [1-22件を表示] (0.029秒)
トップページ > クエリ:FALSE[x] > クエリ:NIL[x] > クラス:Thread[x]

別のキーワード

  1. object false
  2. _builtin false
  3. rb_false
  4. false
  5. false object

ライブラリ

キーワード

検索結果

Thread#status -> String | false | nil (247.0)

生きているスレッドの状態を文字列 "run"、"sleep", "aborting" のいず れかで返します。正常終了したスレッドに対して false、例外によ り終了したスレッドに対して nil を返します。

...対して false、例外によ
り終了したスレッドに対して nil を返します。

Thread
#alive? が真を返すなら、このメソッドも真です。

例:
a = Thread.new { raise("die now") }
b = Thread.new { Thread.stop }
c = Thread.new { Thread.exit }
d = Thread.new { slee...
...p }
d.kill #=> #<Thread:0x401b3678 aborting>
a.status #=> nil
b.status #=> "sleep"
c.status #=> false
d.status #=> "aborting"
Thread
.current.status #=> "run"

@see Thread#alive?, Thread#stop?...

Thread.pending_interrupt?(error = nil) -> bool (114.0)

非同期割り込みのキューが空かどうかを返します。

...します。

Thread
.handle_interrupt は非同期割り込みの発生を延期させるのに使
用しますが、本メソッドは任意の非同期割り込みが存在するかどうかを確認す
るのに使用します。

本メソッドが true を返した場合、Thread.handle_interru...
...させられていた例外をただちに発生させる。

def Thread.kick_interrupt_immediately
Thread
.handle_interrupt(Object => :immediate) {
Thread
.pass
}
end

=== 使い方

th = Thread.new{
Thread
.handle_interrupt(RuntimeError => :on_blocking){
while true...
...if Thread.pending_interrupt?
Thread
.handle_interrupt(Object => :immediate){}
end
...
end
}
}
...
th.raise # スレッド停止。

この例は以下のように記述する事もできます。

flag = true
th = Thread.new{
Thread
.handle_in...