種類
- インスタンスメソッド (247)
- 特異メソッド (60)
ライブラリ
- ビルトイン (307)
キーワード
- DEBUG (12)
- DEBUG= (12)
- [] (12)
-
abort
_ on _ exception (24) -
abort
_ on _ exception= (24) -
add
_ trace _ func (12) - backtrace (12)
-
backtrace
_ locations (24) - fetch (8)
-
ignore
_ deadlock= (4) - inspect (12)
- key? (12)
- name= (10)
- priority (12)
- priority= (12)
-
report
_ on _ exception (9) -
report
_ on _ exception= (9) - run (12)
-
safe
_ level (7) -
set
_ trace _ func (12) - stop (12)
- stop? (12)
-
thread
_ variable _ set (12) -
to
_ s (8) - wakeup (12)
検索結果
先頭5件
-
Thread
. abort _ on _ exception=(newstate) (6107.0) -
真の時は、いずれかのスレッドが例外によって終了した時に、インタプリタ 全体を中断させます。false の場合、あるスレッドで起こった例外は、Thread#join などで検出されない限りそのスレッドだけをなにも警告を出さずに終了させます。
...レッドで起こった例外は、Thread#join
などで検出されない限りそのスレッドだけをなにも警告を出さずに終了させます。
デフォルトは false です。
c:Thread#exceptionを参照してください。
@param newstate スレッド実行中に例外発生......した場合、インタプリタ全体を終了させるかどうかを true か false で指定します。
//emlist[例][ruby]{
Thread.abort_on_exception # => false
Thread.abort_on_exception = true
Thread.abort_on_exception # => true
//}... -
Thread
. stop -> nil (6107.0) -
他のスレッドから Thread#run メソッドで再起動されるまで、カレ ントスレッドの実行を停止します。
...ドから Thread#run メソッドで再起動されるまで、カレ
ントスレッドの実行を停止します。
//emlist[例][ruby]{
a = Thread.new { print "a"; Thread.stop; print "c" }
sleep 0.1 while a.status!='sleep'
print "b"
a.run
a.join
# => "abc"
//}
@see Thread#run, Thread#wakeup... -
Thread
# [](name) -> object | nil (3119.0) -
name に対応したスレッドに固有のデータを取り出します。 name に対応するスレッド固有データがなければ nil を返し ます。
...。
//emlist[例][ruby]{
[
Thread.new { Thread.current["name"] = "A" },
Thread.new { Thread.current[:name] = "B" },
Thread.new { Thread.current["name"] = "C" }
].each do |th|
th.join
puts "#{th.inspect}: #{th[:name]}"
end
# => #<Thread:0x00000002a54220 dead>: A
# => #<Thread:0x00000002a......> #<Thread:0x00000002a54130 dead>: C
//}
Thread#[] と Thread#[]= を用いたスレッド固有の変数は
Fiber を切り替えると異なる変数を返す事に注意してください。
//emlist[][ruby]{
def meth(newvalue)
begin
oldvalue = Thread.current[:name]
Thread.current[:n......ure
Thread.current[:name] = oldvalue
end
end
//}
この関数に与えるブロックがFiberを切り替える場合は動的スコープとしては
正しく動作しません。
//emlist[][ruby]{
f = Fiber.new {
meth(1) {
Fiber.yield
}
}
meth(2) {
f.resume
}
f.resume
p Thread.c... -
Thread
# safe _ level -> Integer (3113.0) -
self のセーフレベルを返します。カレントスレッドの safe_level は、$SAFE と同じです。
...です。
Ruby 2.6 から$SAFEがプロセスグローバルになったため、このメソッドは obsolete になりました。
セーフレベルについてはspec/safelevelを参照してください。
//emlist[例][ruby]{
thr = Thread.new { $SAFE = 1; sleep }
Thread.current.safe_level......。
Ruby 2.6 から$SAFEがプロセスグローバルになったため、このメソッドは obsolete になりました。
単純に $SAFE をチェックしてください。
セーフレベルについてはspec/safelevelを参照してください。
//emlist[例][ruby]{
thr = Thread.new......{ $SAFE = 1; sleep }
Thread.current.safe_level # => 0
thr.safe_level # => 1
//}... -
Thread
. DEBUG -> Integer (3113.0) -
スレッドのデバッグレベルを返します。
...れ以外の場合は、スレッドのデバッグログを標準出力に出力します。
初期値は 0 です。
使用するためには、THREAD_DEBUG を -1 にして Ruby をコンパイルする必要が
あります。
//emlist[例][ruby]{
Thread.DEBUG # => 0
//}
@see Thread.DEBUG=... -
Thread
# name=(name) -> String (3107.0) -
self の名前を name に設定します。
...ームによっては pthread やカーネルにも設定を行う場合があります。
@raise ArgumentError 引数に ASCII 互換ではないエンコーディングのものを
指定した場合に発生します。
//emlist[例][ruby]{
a = Thread.new{}
a.name = 'named'......a.name # => "named"
a.inspect # => "#<Thread:0x00007f85ac8721f0@named@(irb):1 dead>"
//}
@see Thread#name... -
Thread
. DEBUG=(val) (3013.0) -
スレッドのデバッグレベルを val に設定します。
...Integer に変換してから設定します。
偽 のときは 0 を設定します。
使用するためには、THREAD_DEBUG を -1 にして Ruby をコンパイルする必要が
あります。
//emlist[例][ruby]{
Thread.DEBUG # => 0
Thread.DEBUG = 1
Thread.DEBUG # => 1
//}
@see Thread.DE... -
Thread
# ignore _ deadlock=(bool) (3007.0) -
デッドロック検知を無視する機能をon/offします。デフォルト値はfalseです。
...seです。
trueを渡すとデッドロックを検知しなくなります。
//emlist[][ruby]{
Thread.ignore_deadlock = true
queue = Thread::Queue.new
trap(:SIGUSR1){queue.push "Received signal"}
# ignore_deadlockがfalseだとエラーが発生する
puts queue.pop
//}
@see Thread#ignore_de... -
Thread
# key?(name) -> bool (3007.0) -
name に対応したスレッドに固有のデータが定義されていれば true を返します。
...name に対応したスレッドに固有のデータが定義されていれば
true を返します。
@param name 文字列か Symbol で指定します。
//emlist[例][ruby]{
me = Thread.current
me[:oliver] = "a"
me.key?(:oliver) # => true
me.key?(:stanley) # => false
//}... -
Thread
# run -> self (3007.0) -
停止状態(stop)のスレッドを再開させます。 Thread#wakeup と異なりすぐにスレッドの切り替え を行います。
...状態(stop)のスレッドを再開させます。
Thread#wakeup と異なりすぐにスレッドの切り替え
を行います。
@raise ThreadError 死んでいるスレッドに対して実行すると発生します。
//emlist[例][ruby]{
a = Thread.new { puts "a"; Thread.stop; puts "c" }......sleep 0.1 while a.status!='sleep'
puts "Got here"
a.run
a.join
# => a
# => Got here
# => c
//}
@see Thread#wakeup, Thread.stop... -
Thread
# wakeup -> self (3007.0) -
停止状態(stop)のスレッドを実行可能状態(run)にします。
...stop)のスレッドを実行可能状態(run)にします。
@raise ThreadError 死んでいるスレッドに対して実行すると発生します。
//emlist[例][ruby]{
c = Thread.new { Thread.stop; puts "hey!" }
sleep 0.1 while c.status!='sleep'
c.wakeup
c.join
# => "hey!"
//}
@see Thread#......run, Thread.stop...