るりまサーチ

最速Rubyリファレンスマニュアル検索!
11件ヒット [1-11件を表示] (0.096秒)
トップページ > 種類:特異メソッド[x] > クエリ:Time[x] > クエリ:handle_interrupt[x]

別のキーワード

  1. handle new
  2. handle []
  3. handle sym
  4. thread handle_interrupt
  5. _builtin handle_interrupt

ライブラリ

クラス

検索結果

Thread.handle_interrupt(hash) { ... } -> object (18162.0)

スレッドの割り込みのタイミングを引数で指定した内容に変更してブロックを 実行します。

...生のタイミングを制御する例

th = Thread.new do
Thread.handle_interrupt(RuntimeError => :never) {
begin
# 安全にリソースの割り当てが可能
Thread.handle_interrupt(RuntimeError => :immediate) {
# ...
}
ensure
# 安...
..."

RuntimeError を無視(延期)している間はリソースの割り当てや ensure
節でリソースの解放を安全に行う事ができます。

==== TimeoutError 対策

例:TimeoutError 発生のタイミングを制御する例

require 'timeout'
Thread.handle_interrupt(TimeoutErr...
...or => :never) {
time
out(10){
# TimeoutError => :never の指定により、ここでは TimeoutError が発生しない。
Thread.handle_interrupt(TimeoutError => :on_blocking) {
# :on_blocking な処理は TimeoutError が発生し得る。
}
# TimeoutError => :n...