るりまサーチ

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

別のキーワード

  1. drb thread
  2. thread kill
  3. thread join
  4. thread exit
  5. etc sc_thread_cputime

ライブラリ

モジュール

キーワード

検索結果

Kernel.#sleep -> Integer (18145.0)

sec 秒だけプログラムの実行を停止します。

...実行を停止します。

sec が省略された場合、他スレッドからの Thread#run
などで明示的に起こさない限り永久にスリープします。Thread#runを呼ぶとその時点で
sleep
の実行が中断されます。

@param sec 停止する秒数を非負の数値で...
...省略された場合、永久にスリープします。

@return 実際に停止していた秒数 (整数に丸められた値) です。

//emlist[例][ruby]{
it = Thread.new do
sleep

puts 'it_end'
end

re = sleep 2.11
puts re
it.run
re2 = sleep 0.76
puts re2
#=> 2
# it_end
# 1
//}...

Kernel.#sleep(sec) -> Integer (18145.0)

sec 秒だけプログラムの実行を停止します。

...実行を停止します。

sec が省略された場合、他スレッドからの Thread#run
などで明示的に起こさない限り永久にスリープします。Thread#runを呼ぶとその時点で
sleep
の実行が中断されます。

@param sec 停止する秒数を非負の数値で...
...省略された場合、永久にスリープします。

@return 実際に停止していた秒数 (整数に丸められた値) です。

//emlist[例][ruby]{
it = Thread.new do
sleep

puts 'it_end'
end

re = sleep 2.11
puts re
it.run
re2 = sleep 0.76
puts re2
#=> 2
# it_end
# 1
//}...

Open3.#pipeline_start(*cmds) -> [Thread] (108.0)

指定したコマンドのリストをパイプで繋いで順番に実行します。

...
ドの配列を返します。

例:

require "open3"

# xeyesを10秒だけ実行する。
Open3.pipeline_start("xeyes") {|ts|
sleep
10
t = ts[0]
Process.kill("TERM", t.pid)
p t.value #=> #<Process::Status: pid 911 SIGTERM (signal 15)>
}

@see Open3.#popen3...

Process.#detach(pid) -> Thread (108.0)

子プロセス pid の終了を監視するスレッドを生成して返します。 生成したスレッドは子プロセスが終了した後に終了ステータス (Process::Status) を返します。 指定した子プロセスが存在しなければ即座に nil で終了します。

...

@raise NotImplementedError メソッドが現在のプラットフォームで実装されていない場合に発生します。

pid = fork {
# child
sleep
3
}

p pid # => 7762
th = Process.detach(pid)
p th.value
# => #<Process::Status: pid 7762 exit 0>...

Timeout.#timeout(sec, exception_class = nil) {|i| ... } -> object (13.0)

ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。

...imeout'

class MYError < Exception;end
begin
Timeout.timeout(5, MYError) {
sleep
(30)
}
rescue MYError => err
puts "MYError"
puts err
end

=== 注意

timeout による割り込みは Thread によって実現されています。
C 言語レベルで実装され、
Ruby...

絞り込み条件を変える

Timeout.#timeout(sec, exception_class, message) {|i| ... } -> object (13.0)

ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。

...imeout'

class MYError < Exception;end
begin
Timeout.timeout(5, MYError) {
sleep
(30)
}
rescue MYError => err
puts "MYError"
puts err
end

=== 注意

timeout による割り込みは Thread によって実現されています。
C 言語レベルで実装され、
Ruby...

Open3.#pipeline_start(*cmds) {|wait_thrs| ... } -> () (8.0)

指定したコマンドのリストをパイプで繋いで順番に実行します。

...
ドの配列を返します。

例:

require "open3"

# xeyesを10秒だけ実行する。
Open3.pipeline_start("xeyes") {|ts|
sleep
10
t = ts[0]
Process.kill("TERM", t.pid)
p t.value #=> #<Process::Status: pid 911 SIGTERM (signal 15)>
}

@see Open3.#popen3...