るりまサーチ

最速Rubyリファレンスマニュアル検索!
177件ヒット [1-100件を表示] (0.015秒)

別のキーワード

  1. _builtin sleep
  2. kernel sleep
  3. mutex sleep
  4. sleep
  5. sleep _builtin

ライブラリ

クラス

モジュール

キーワード

検索結果

<< 1 2 > >>

Thread#kill -> self (15119.0)

スレッドの実行を終了させます。終了時に ensure 節が実行されます。

...it(0)
により終了します。

Kernel.#exit と違い例外 SystemExit を発生しません。

th1 = Thread.new do
begin
sleep
10
ensure
p "this will be displayed"
end
end

sleep
0.1
th1.kill

#=> "this will be displayed"

@see Kernel.#exit, Kernel.#exit!...

Process::Status (78.0)

プロセスの終了ステータスを表すクラスです。 メソッド Process.#wait2 などの返り値として使われます。

...て使われます。

=== 使用例

wait を使用した例

fork { exit }
Process.wait
case
when $?.signaled?
p "child #{$?.pid} was killed by signal #{$?.termsig}"
if $?.coredump? # システムがこのステータスをサポートしてなければ常にfalse
p "child...
...ます

while Process.waitpid(-1, Process::WNOHANG|Process::WUNTRACED)
case
when $?.signaled?
puts " child #{$?.pid} was killed by signal #{$?.termsig}"
if $?.coredump?
puts " child #{$?.pid} dumped core."
end
when $?.stopped?
puts...
...p pid1 = fork { sleep 1; exit }
p pid2 = fork { loop { sleep } } # signal を待つための sleep
begin
Process.kill :STOP, pid2
sleep
# SIGCHLD を待つための sleep
Process.kill :CONT, pid2
Process.kill :TERM, pid2
loop { sleep } #...

Thread (42.0)

スレッドを表すクラスです。スレッドとはメモリ空間を共有して同時に実行される制御の流れです。 Thread を使うことで並行プログラミングが可能になります。

...は ensure 節が実行されます。
これはスレッドが正常に終了する時はもちろんですが、他のスレッドから Thread#kill
などによって終了させられた時も同様に実行されます。

メインスレッドの終了時の詳細に関しては spec/terminate...
...持ちます。これらの状態は
Object#inspect や
Thread#status によって見ることができます。

p Thread.new {sleep 1} # => #<Thread:0xa039de0 sleep>

: run (実行or実行可能状態)
生成されたばかりのスレッドや Thread#run や
Thread#wakeup で起こされたス...
...ドは「生きて」います。

: sleep (停止状態)
Thread.stop や Thread#join により停止されたスレッ
ドはこの状態になります。

この状態のスレッドは「生きて」います。

: aborting (終了処理中)
Thread#kill 等で終了されるスレッドは...

スレッド (42.0)

スレッド スレッドとはメモリ空間を共有して同時に実行される制御の流れです。 Ruby ではスレッドはThread クラスのインスタンスとして表されます。

...は ensure 節が実行されます。
これはスレッドが正常に終了する時はもちろんですが、他のスレッドから Thread#kill
などによって終了させられた時も同様に実行されます。

メインスレッドの終了時の詳細に関しては spec/terminate...
...持ちます。これらの状態は
Object#inspect や
Thread#status によって見ることができます。

p Thread.new {sleep 1} # => #<Thread:0xa039de0 sleep>

: run (実行or実行可能状態)
生成されたばかりのスレッドや Thread#run や
Thread#wakeup で起こされたス...
...ドは「生きて」います。

: sleep (停止状態)
Thread.stop や Thread#join により停止されたスレッ
ドはこの状態になります。

この状態のスレッドは「生きて」います。

: aborting (終了処理中)
Thread#kill 等で終了されるスレッドは...

Thread#status -> String | false | nil (34.0)

生きているスレッドの状態を文字列 "run"、"sleep", "aborting" のいず れかで返します。正常終了したスレッドに対して false、例外によ り終了したスレッドに対して nil を返します。

...生きているスレッドの状態を文字列 "run"、"sleep", "aborting" のいず
れかで返します。正常終了したスレッドに対して false、例外によ
り終了したスレッドに対して nil を返します。

Thread#alive? が真を返すなら、このメソッドも...
...= Thread.new { Thread.stop }
c = Thread.new { Thread.exit }
d = Thread.new { sleep }
d.kill #=> #<Thread:0x401b3678 aborting>
a.status #=> nil
b.status #=> "sleep"
c.status #=> false
d.status #=> "aborting"...

絞り込み条件を変える

Thread#value -> object (24.0)

スレッド self が終了するまで待ち(Thread#join と同じ)、 そのスレッドのブロックが返した値を返します。スレッド実行中に例外が 発生した場合には、その例外を再発生させます。

...read#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#exit -> self (19.0)

スレッドの実行を終了させます。終了時に ensure 節が実行されます。

...it(0)
により終了します。

Kernel.#exit と違い例外 SystemExit を発生しません。

th1 = Thread.new do
begin
sleep
10
ensure
p "this will be displayed"
end
end

sleep
0.1
th1.kill

#=> "this will be displayed"

@see Kernel.#exit, Kernel.#exit!...

Thread#terminate -> self (19.0)

スレッドの実行を終了させます。終了時に ensure 節が実行されます。

...it(0)
により終了します。

Kernel.#exit と違い例外 SystemExit を発生しません。

th1 = Thread.new do
begin
sleep
10
ensure
p "this will be displayed"
end
end

sleep
0.1
th1.kill

#=> "this will be displayed"

@see Kernel.#exit, Kernel.#exit!...

Thread#backtrace -> [String] | nil (18.0)

スレッドの現在のバックトレースを返します。

...{
class C1
def m1
sleep
5
end
def m2
m1
end
end

th = Thread.new {C1.new.m2; Thread.stop}
th.backtrace
# => [
# [0] "(irb):3:in `sleep'",
# [1] "(irb):3:in `m1'",
# [2] "(irb):6:in `m2'",
# [3] "(irb):10:in `block in irb_binding'"
# ]

th.kill
th.backtrace #...
<< 1 2 > >>