種類
- インスタンスメソッド (27)
- 特異メソッド (25)
ライブラリ
- ビルトイン (52)
検索結果
先頭5件
-
Thread
. new(*arg) {|*arg| . . . } -> Thread (62239) -
スレッドを生成して、ブロックの評価を開始します。 生成したスレッドを返します。
...始と同時にその
スレッド固有のローカル変数に値を渡すために使用します。
@raise ThreadError 現在のスレッドが属する ThreadGroup が freeze されている場合に発生します。またブロックを与えられずに呼ばれた場合にも発......のコードは間違いです。スレッドの実行が開始される前に
変数 i が書き変わる可能性があるからです。
for i in 1..5
Thread.new { p i }
end
上の例は以下のように書き直すべきです。
for i in 1..5
Thread.new(i) {|t| p t }
end... -
Thread
. kill(thread) -> Thread (21277) -
指定したスレッド thread に対して Thread#exit を呼びます。終了したスレッドを返します。
...指定したスレッド thread に対して Thread#exit を呼びます。終了したスレッドを返します。
@param thread 終了したい Thread オブジェクトを指定します。
th = Thread.new do
end
p Thread.kill(th) #=> #<Thread:0x40221bc8 dead>... -
Thread
. fork(*arg) {|*arg| . . . } -> Thread (21139) -
スレッドを生成して、ブロックの評価を開始します。 生成したスレッドを返します。
...スレッドを生成して、ブロックの評価を開始します。
生成したスレッドを返します。
基本的に Thread.new と同じですが、
new メソッドと違い initialize メソッドを呼びません。
@param arg 引数 arg はそのままブロックに渡されま......始と同時にその
スレッド固有のローカル変数に値を渡すために使用します。
@raise ThreadError 現在のスレッドが属する ThreadGroup が freeze されている場合に発生します。またブロックを与えられずに呼ばれた場合にも発......ードは間違いです。スレッドの実行が開始される前に
変数 i が書き変わる可能性があるからです。
for i in 1..5
Thread.start { p i }
end
上の例は以下のように書き直すべきです。
for i in 1..5
Thread.start(i) {|t| p t }
end... -
Thread
. start(*arg) {|*arg| . . . } -> Thread (21139) -
スレッドを生成して、ブロックの評価を開始します。 生成したスレッドを返します。
...スレッドを生成して、ブロックの評価を開始します。
生成したスレッドを返します。
基本的に Thread.new と同じですが、
new メソッドと違い initialize メソッドを呼びません。
@param arg 引数 arg はそのままブロックに渡されま......始と同時にその
スレッド固有のローカル変数に値を渡すために使用します。
@raise ThreadError 現在のスレッドが属する ThreadGroup が freeze されている場合に発生します。またブロックを与えられずに呼ばれた場合にも発......ードは間違いです。スレッドの実行が開始される前に
変数 i が書き変わる可能性があるからです。
for i in 1..5
Thread.start { p i }
end
上の例は以下のように書き直すべきです。
for i in 1..5
Thread.start(i) {|t| p t }
end... -
Thread
. list -> [Thread] (21138) -
全ての生きているスレッドを含む配列を生成して返します。aborting 状態であるスレッド も要素に含まれます。
...生成して返します。aborting 状態であるスレッド
も要素に含まれます。
Thread.new do
sleep
end
sleep 0.1
p Thread.list #=> [#<Thread:0x40377a54 sleep>, #<Thread:0x4022e6fc run>]... -
Thread
. critical=(newstate) (21125) -
真である間、スレッドの切替えを行いません。
...れた場合には、
自動的に false になります。
ただし、Thread.new によりスレッドを生成した場合には、critical
の値に関わらず そのスレッドは実行されます。
また、Thread.pass により明示的に切替えることもできます。
デフォ......張ライブラリがからむとこのフラグは無視さ
れることもあります。排他制御を行うにはこのメソッドに頼らず
Mutex や Monitor を使うべきです。
@param newstate スレッドの切替えを許すかどうかを、true か false で指定します。... -
Thread
# abort _ on _ exception=(newstate) (21123) -
真の場合、そのスレッドが例外によって終了した時に、インタプリタ 全体を中断させます。false の場合、あるスレッドで起こった例 外は、Thread#join などで検出されない限りそのスレッ ドだけをなにも警告を出さずに終了させます。
...スレッドで起こった例
外は、Thread#join などで検出されない限りそのスレッ
ドだけをなにも警告を出さずに終了させます。
デフォルトは偽です。c:Thread#exceptionを参照してください。
@param newstate 自身を実行中に例外発生し... -
Thread
. abort _ on _ exception=(newstate) (21123) -
真の時は、いずれかのスレッドが例外によって終了した時に、インタプリタ 全体を中断させます。false の場合、あるスレッドで起こった例外は、Thread#join などで検出されない限りそのスレッドだけをなにも警告を出さずに終了させます。
...スレッドで起こった例外は、Thread#join
などで検出されない限りそのスレッドだけをなにも警告を出さずに終了させます。
デフォルトは false です。
c:Thread#exceptionを参照してください。
@param newstate スレッド実行中に例外発... -
Thread
. critical=(newstate) (21101) -
サポートされていません。警告を出力し、何もせずに nil を返します。
サポートされていません。警告を出力し、何もせずに nil を返します。 -
Thread
# value -> object (21077) -
スレッド 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
# join -> self (21055) -
スレッド 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 (21055) -
スレッド 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
# exit! -> self (21049) -
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
# kill! -> self (21049) -
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
# terminate! -> self (21049) -
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
# exit -> self (21031) -
スレッドの実行を終了させます。終了時に 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 (21031) -
スレッドの実行を終了させます。終了時に 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 (21031) -
スレッドの実行を終了させます。終了時に 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
. pass -> nil (21031) -
他のスレッドに実行権を譲ります。実行中のスレッドの状態を変えずに、 他の実行可能状態のスレッドに制御を移します。
...権を譲ります。実行中のスレッドの状態を変えずに、
他の実行可能状態のスレッドに制御を移します。
Thread.new do
(1..3).each{|i|
p i
Thread.pass
}
exit
end
loop do
Thread.pass
p :main
end
#=>
1
:main
2
:main
3
:main... -
Thread
# exit -> self (21025) -
スレッドの実行を終了させます。終了時に ensure 節が実行されます。
...レッドの Thread#value の返り値は不定です。
自身がメインスレッドであるか最後のスレッドである場合は、プロセスを Kernel.#exit(0)
により終了します。
Kernel.#exit と違い例外 SystemExit を発生しません。
th1 = Thread.new do
begi... -
Thread
# kill -> self (21025) -
スレッドの実行を終了させます。終了時に ensure 節が実行されます。
...レッドの Thread#value の返り値は不定です。
自身がメインスレッドであるか最後のスレッドである場合は、プロセスを Kernel.#exit(0)
により終了します。
Kernel.#exit と違い例外 SystemExit を発生しません。
th1 = Thread.new do
begi... -
Thread
# raise(error _ type , message , traceback) -> () (21025) -
自身が表すスレッドで強制的に例外を発生させます。
...してください。
@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
# terminate -> self (21025) -
スレッドの実行を終了させます。終了時に ensure 節が実行されます。
...レッドの Thread#value の返り値は不定です。
自身がメインスレッドであるか最後のスレッドである場合は、プロセスを Kernel.#exit(0)
により終了します。
Kernel.#exit と違い例外 SystemExit を発生しません。
th1 = Thread.new do
begi... -
Thread
. critical -> bool (21025) -
真である間、スレッドの切替えを行いません。
...れた場合には、
自動的に false になります。
ただし、Thread.new によりスレッドを生成した場合には、critical
の値に関わらず そのスレッドは実行されます。
また、Thread.pass により明示的に切替えることもできます。
デフォ......張ライブラリがからむとこのフラグは無視さ
れることもあります。排他制御を行うにはこのメソッドに頼らず
Mutex や Monitor を使うべきです。
@param newstate スレッドの切替えを許すかどうかを、true か false で指定します。...
