12件ヒット
[1-12件を表示]
(0.029秒)
検索結果
-
Thread
. handle _ interrupt(hash) { . . . } -> object (18161.0) -
スレッドの割り込みのタイミングを引数で指定した内容に変更してブロックを 実行します。
...se 発生のタイミングを制御する例
th = Thread.new do
Thread.handle_interrupt(RuntimeError => :never) {
begin
# 安全にリソースの割り当てが可能
Thread.handle_interrupt(RuntimeError => :immediate) {
# ...
}
ensure
#......se "stop"
RuntimeError を無視(延期)している間はリソースの割り当てや ensure
節でリソースの解放を安全に行う事ができます。
==== TimeoutError 対策
例:TimeoutError 発生のタイミングを制御する例
require 'timeout'
Thread.handle_interrupt(Ti......> :never) {
timeout(10){
# TimeoutError => :never の指定により、ここでは TimeoutError が発生しない。
Thread.handle_interrupt(TimeoutError => :on_blocking) {
# :on_blocking な処理は TimeoutError が発生し得る。
}
# TimeoutError => :never...