ライブラリ
- ビルトイン (75)
キーワード
- [] (3)
- []= (3)
-
abort
_ on _ exception (3) -
abort
_ on _ exception= (3) -
add
_ trace _ func (2) - alive? (3)
- backtrace (2)
- exit (3)
- exit! (1)
- group (3)
- join (6)
- key? (3)
- keys (3)
- kill (3)
- kill! (1)
- priority (3)
- priority= (3)
- raise (3)
- run (3)
-
safe
_ level (3) -
set
_ trace _ func (2) - status (3)
- stop? (3)
- terminate (3)
- terminate! (1)
- value (3)
- wakeup (3)
検索結果
先頭5件
-
Thread
# [](name) -> object | nil (2) -
name に対応したスレッドに固有のデータを取り出します。 name に対応するスレッド固有データがなければ nil を返し ます。
name に対応したスレッドに固有のデータを取り出します。
name に対応するスレッド固有データがなければ nil を返し
ます。
@param name スレッド固有データのキーを文字列か Symbol で指定します。 -
Thread
# []=(name , val) (2) -
val を name に対応するスレッド固有のデータとして格納します。
val を name に対応するスレッド固有のデータとして格納します。
@param name スレッド固有データのキーを文字列か Symbol で指定します。文字列を指定した場合は String#to_sym によりシンボルに変換されます。
@param val スレッド固有データを指定します。nil を指定するとそのスレッド固有データは削除されます。 -
Thread
# abort _ on _ exception -> bool (2) -
真の場合、そのスレッドが例外によって終了した時に、インタプリタ 全体を中断させます。false の場合、あるスレッドで起こった例 外は、Thread#join などで検出されない限りそのスレッ ドだけをなにも警告を出さずに終了させます。
...。false の場合、あるスレッドで起こった例
外は、Thread#join などで検出されない限りそのスレッ
ドだけをなにも警告を出さずに終了させます。
デフォルトは偽です。c:Thread#exceptionを参照してください。
@param newstate 自身を... -
Thread
# abort _ on _ exception=(newstate) (2) -
真の場合、そのスレッドが例外によって終了した時に、インタプリタ 全体を中断させます。false の場合、あるスレッドで起こった例 外は、Thread#join などで検出されない限りそのスレッ ドだけをなにも警告を出さずに終了させます。
...。false の場合、あるスレッドで起こった例
外は、Thread#join などで検出されない限りそのスレッ
ドだけをなにも警告を出さずに終了させます。
デフォルトは偽です。c:Thread#exceptionを参照してください。
@param newstate 自身を... -
Thread
# add _ trace _ func(pr) -> Proc (2) -
スレッドにトレース用ハンドラを追加します。
...用ハンドラを追加します。
追加したハンドラを返します。
@param pr トレースハンドラ(Proc オブジェクト)
@see Thread#set_trace_func Kernel.#set_trace_func... -
Thread
# alive? -> bool (2) -
スレッドが「生きている」時、true を返します。
...スレッドが「生きている」時、true を返します。
Thread#status が真を返すなら、このメソッドも真です。... -
Thread
# backtrace -> [String] | nil (2) -
スレッドの現在のバックトレースを返します。
スレッドの現在のバックトレースを返します。
スレッドがすでに終了している場合は nil を返します。 -
Thread
# exit -> self (2) -
スレッドの実行を終了させます。終了時に ensure 節が実行されます。
...レッドの Thread#value の返り値は不定です。
自身がメインスレッドであるか最後のスレッドである場合は、プロセスを Kernel.#exit(0)
により終了します。
Kernel.#exit と違い例外 SystemExit を発生しません。
th1 = Thread.new do
begi......n
sleep 10
ensure
p "this will be displayed"
end
end
sleep 0.1
th1.kill
#=> "this will be displayed"
@see Thread#exit!, Kernel.#exit, Kernel.#exit!... -
Thread
# exit! -> self (2) -
ensure 節を実行せずにスレッドの実行を終了させます。
...ソッドにより
終了したスレッドの Thread#value の返り値は不定です。
自身がメインスレッドであるか最後のスレッドである場合は、プロセスを Kernel.#exit(0)
により終了します。
th1 = Thread.new do
begin
sleep 10
ensure......p "th1: this will be displayed"
end
end
th2 = Thread.new do
begin
sleep 10
ensure
p "th2: this will NOT be displayed"
end
end
th1.kill
th2.kill!
#=> "th1: this will be displayed"
@see Thread#exit, Kernel.#exit, Kernel.#exit!... -
Thread
# group -> ThreadGroup | nil (2) -
スレッドが属している ThreadGroup オブジェクトを返します。 死んでいるスレッドは nil を返します。
...スレッドが属している ThreadGroup オブジェクトを返します。
死んでいるスレッドは nil を返します。
p Thread.current.group == ThreadGroup::Default
# => true... -
Thread
# join -> self (2) -
スレッド self の実行が終了するまで、カレントスレッドを停止し ます。self が例外により終了していれば、その例外がカレントス レッドに対して発生します。
...raise ThreadError join を実行することによってデッドロックが起きる場合に発生します。またカレントスレッドを join したときにも発生します。
以下は、生成したすべてのスレッドの終了を待つ例です。
threads = []
threads.pus......h(Thread.new { n = rand(5); sleep n; n })
threads.push(Thread.new { n = rand(5); sleep n; n })
threads.push(Thread.new { n = rand(5); sleep n; n })
threads.each {|t| t.join}... -
Thread
# join(limit) -> self | nil (2) -
スレッド self の実行が終了するまで、カレントスレッドを停止し ます。self が例外により終了していれば、その例外がカレントス レッドに対して発生します。
...raise ThreadError join を実行することによってデッドロックが起きる場合に発生します。またカレントスレッドを join したときにも発生します。
以下は、生成したすべてのスレッドの終了を待つ例です。
threads = []
threads.pus......h(Thread.new { n = rand(5); sleep n; n })
threads.push(Thread.new { n = rand(5); sleep n; n })
threads.push(Thread.new { n = rand(5); sleep n; n })
threads.each {|t| t.join}... -
Thread
# key?(name) -> bool (2) -
name に対応したスレッドに固有のデータが定義されていれば true を返します。
name に対応したスレッドに固有のデータが定義されていれば
true を返します。
@param name 文字列か Symbol で指定します。 -
Thread
# keys -> [Symbol] (2) -
スレッド固有データに関連づけられたキーの配列を返します。キーは Symbol で返されます。
...スレッド固有データに関連づけられたキーの配列を返します。キーは
Symbol で返されます。
th = Thread.current
th[:foo] = 'FOO'
th['bar'] = 'BAR'
p th.keys
#=> [:bar, :foo]... -
Thread
# kill -> self (2) -
スレッドの実行を終了させます。終了時に ensure 節が実行されます。
...レッドの Thread#value の返り値は不定です。
自身がメインスレッドであるか最後のスレッドである場合は、プロセスを Kernel.#exit(0)
により終了します。
Kernel.#exit と違い例外 SystemExit を発生しません。
th1 = Thread.new do
begi......n
sleep 10
ensure
p "this will be displayed"
end
end
sleep 0.1
th1.kill
#=> "this will be displayed"
@see Thread#exit!, Kernel.#exit, Kernel.#exit!... -
Thread
# kill! -> self (2) -
ensure 節を実行せずにスレッドの実行を終了させます。
...ソッドにより
終了したスレッドの Thread#value の返り値は不定です。
自身がメインスレッドであるか最後のスレッドである場合は、プロセスを Kernel.#exit(0)
により終了します。
th1 = Thread.new do
begin
sleep 10
ensure......p "th1: this will be displayed"
end
end
th2 = Thread.new do
begin
sleep 10
ensure
p "th2: this will NOT be displayed"
end
end
th1.kill
th2.kill!
#=> "th1: this will be displayed"
@see Thread#exit, Kernel.#exit, Kernel.#exit!... -
Thread
# priority -> Integer (2) -
スレッドの優先度を返します。この値の大きいほど優先度が高くなります。 メインスレッドのデフォルト値は 0 です。新しく生成されたスレッドは親スレッドの priority を引き継ぎます。
スレッドの優先度を返します。この値の大きいほど優先度が高くなります。
メインスレッドのデフォルト値は 0 です。新しく生成されたスレッドは親スレッドの
priority を引き継ぎます。
@param val スレッドの優先度を指定します。負の値も指定できます。スレッドの優先度を返します。この値の大きいほど優先度が高くなります。
メインスレッドのデフォルト値は 0 です。新しく生成されたスレッドは親スレッドの
priority を引き継ぎます。
@param val スレッドの優先度を指定します。プラットフォームに依存します。 -
Thread
# priority=(val) (2) -
スレッドの優先度を返します。この値の大きいほど優先度が高くなります。 メインスレッドのデフォルト値は 0 です。新しく生成されたスレッドは親スレッドの priority を引き継ぎます。
スレッドの優先度を返します。この値の大きいほど優先度が高くなります。
メインスレッドのデフォルト値は 0 です。新しく生成されたスレッドは親スレッドの
priority を引き継ぎます。
@param val スレッドの優先度を指定します。負の値も指定できます。スレッドの優先度を返します。この値の大きいほど優先度が高くなります。
メインスレッドのデフォルト値は 0 です。新しく生成されたスレッドは親スレッドの
priority を引き継ぎます。
@param val スレッドの優先度を指定します。プラットフォームに依存します。 -
Thread
# raise(error _ type , message , traceback) -> () (2) -
自身が表すスレッドで強制的に例外を発生させます。
...してください。
@param message Kernel.#raise を参照してください。
@param traceback Kernel.#raise を参照してください。
Thread.new {
sleep 1
Thread.main.raise "foobar"
}
begin
sleep
rescue
p $!, $@
end
=> #<RuntimeError: foobar>
["-:3"]... -
Thread
# run -> self (2) -
停止状態(stop)のスレッドを再開させます。 Thread#wakeup と異なりすぐにスレッドの切り替え を行います。
...停止状態(stop)のスレッドを再開させます。
Thread#wakeup と異なりすぐにスレッドの切り替え
を行います。
@raise ThreadError 死んでいるスレッドに対して実行すると発生します。... -
Thread
# safe _ level -> Integer (2) -
self のセーフレベルを返します。カレントスレッドの safe_level は、$SAFE と同じです。
self のセーフレベルを返します。カレントスレッドの
safe_level は、$SAFE と同じです。
セーフレベルについてはspec/safelevelを参照してください。 -
Thread
# set _ trace _ func(pr) -> Proc | nil (2) -
スレッドにトレース用ハンドラを設定します。
...解除します。
設定したハンドラを返します。
@param pr トレースハンドラ(Proc オブジェクト) もしくは nil
@see Thread#add_trace_func Kernel.#set_trace_func... -
Thread
# status -> String | false | nil (2) -
生きているスレッドの状態を文字列 "run"、"sleep", "aborting" のいず れかで返します。正常終了したスレッドに対して false、例外によ り終了したスレッドに対して nil を返します。
...るスレッドの状態を文字列 "run"、"sleep", "aborting" のいず
れかで返します。正常終了したスレッドに対して false、例外によ
り終了したスレッドに対して nil を返します。
Thread#alive? が真を返すなら、このメソッドも真です。... -
Thread
# stop? -> bool (2) -
スレッドが終了(dead)あるいは停止(stop)している時、true を返します。
スレッドが終了(dead)あるいは停止(stop)している時、true を返します。 -
Thread
# terminate -> self (2) -
スレッドの実行を終了させます。終了時に ensure 節が実行されます。
...レッドの Thread#value の返り値は不定です。
自身がメインスレッドであるか最後のスレッドである場合は、プロセスを Kernel.#exit(0)
により終了します。
Kernel.#exit と違い例外 SystemExit を発生しません。
th1 = Thread.new do
begi......n
sleep 10
ensure
p "this will be displayed"
end
end
sleep 0.1
th1.kill
#=> "this will be displayed"
@see Thread#exit!, Kernel.#exit, Kernel.#exit!... -
Thread
# terminate! -> self (2) -
ensure 節を実行せずにスレッドの実行を終了させます。
...ソッドにより
終了したスレッドの Thread#value の返り値は不定です。
自身がメインスレッドであるか最後のスレッドである場合は、プロセスを Kernel.#exit(0)
により終了します。
th1 = Thread.new do
begin
sleep 10
ensure......p "th1: this will be displayed"
end
end
th2 = Thread.new do
begin
sleep 10
ensure
p "th2: this will NOT be displayed"
end
end
th1.kill
th2.kill!
#=> "th1: this will be displayed"
@see Thread#exit, Kernel.#exit, Kernel.#exit!... -
Thread
# value -> object (2) -
スレッド self が終了するまで待ち(Thread#join と同じ)、 そのスレッドのブロックが返した値を返します。スレッド実行中に例外が 発生した場合には、その例外を再発生させます。
...ッド self が終了するまで待ち(Thread#join と同じ)、
そのスレッドのブロックが返した値を返します。スレッド実行中に例外が
発生した場合には、その例外を再発生させます。
スレッドが Thread#kill によって終了した場合は、......の終了を待ち結果を出力する例です。
threads = []
threads.push(Thread.new { n = rand(5); sleep n; n })
threads.push(Thread.new { n = rand(5); sleep n; n })
threads.push(Thread.new { n = rand(5); sleep n; n })
threads.each {|t| p t.value}
最後の行で、待ち合......わせを行っていることがわかりにくいと思うなら以下
のように書くこともできます。
threads.each {|t| p t.join.value}... -
Thread
# wakeup -> self (2) -
停止状態(stop)のスレッドを実行可能状態(run)にします。
...停止状態(stop)のスレッドを実行可能状態(run)にします。
@raise ThreadError 死んでいるスレッドに対して実行すると発生します。...
