33件ヒット
[1-33件を表示]
(0.049秒)
検索結果
先頭3件
-
Thread
. handle _ interrupt(hash) { . . . } -> object (39297.0) -
スレッドの割り込みのタイミングを引数で指定した内容に変更してブロックを 実行します。
...
スレッドの割り込みのタイミングを引数で指定した内容に変更してブロックを
実行します。
「割り込み」とは、非同期イベントや Thread#raise や
Thread#kill、Signal.#trap(未サポート)、メインスレッドの終了
(メインスレッドが......終了すると、他のスレッドも終了されます)を意味します。
@param hash 例外クラスがキー、割り込みのタイミングを指定する
Symbol が値の Hash を指定します。
値の内容は以下のいずれかです。
: :immediate
す......ださい。
=== 使い方
例:Thread#raise 発生のタイミングを制御する例
th = Thread.new do
Thread.handle_interrupt(RuntimeError => :never) {
begin
# 安全にリソースの割り当てが可能
Thread.handle_interrupt(RuntimeError => :immediate) {... -
Thread
. pending _ interrupt?(error = nil) -> bool (21132.0) -
非同期割り込みのキューが空かどうかを返します。
...。
Thread.handle_interrupt は非同期割り込みの発生を延期させるのに使
用しますが、本メソッドは任意の非同期割り込みが存在するかどうかを確認す
るのに使用します。
本メソッドが true を返した場合、Thread.handle_interrupt で例......られていた例外をただちに発生させる。
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_interrupt(R... -
NEWS for Ruby 2
. 0 . 0 (186.0) -
NEWS for Ruby 2.0.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...ex が現在のスレッドに所持されているかどうかを返します
* 非互換:
* Mutex#lock, Mutex#unlock, Mutex#try_lock, Mutex#synchronize, Mutex#sleep
はトラップハンドラの中では使えなくなりました。そのようなときは ThreadError が発......加(起動時にチェックします):
* RUBY_THREAD_VM_STACK_SIZE: vm stack size used at thread creation.
default: 128KB (32bit CPU) or 256KB (64bit CPU).
* RUBY_THREAD_MACHINE_STACK_SIZE: machine stack size used at thread
creation. default: 512KB or 1024KB.
* RUB......す
* 追加: Thread#thread_variables スレッドローカルな変数の名前のリストを取得します
* 追加: Thread#thread_variable? 与えられた名前がスレッドローカルな変数であるかどうか返します
* 追加: Thread.handle_interrupt as well as instanc...