るりまサーチ

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

別のキーワード

  1. スレッド spec/terminate
  2. スレッド thread
  3. スレッド spec/rubycmd
  4. クラス/メソッドの定義 nameerror
  5. スレッド

ライブラリ

クラス

検索結果

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

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

...します。

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

本メソッドが true を返した場合、Thread.handle_interru...
...e) {
Thread
.pass
}
end

=== 使い方

th = Thread.new{
Thread
.handle_interrupt(RuntimeError => :on_blocking){
while true
...
# ここまでで割り込みが発生しても安全な状態になった。
if Thread.pending_interrupt?
Thread
.ha...
...ject => :immediate){}
end
...
end
}
}
...
th.raise # スレッド停止。

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

flag = true
th = Thread.new{
Thread
.handle_interrupt(RuntimeError => :on_blocking){
while true
......