るりまサーチ

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

別のキーワード

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

ライブラリ

クラス

キーワード

検索結果

Thread#value -> object (18132.0)

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

...例です。

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}...

File#flock(operation) -> 0 | false (37.0)

ファイルをロックします。

...に"w"を使ってはいけません。
File.open("counter", File::RDWR|File::CREAT, 0644) {|f|
f.flock(File::LOCK_EX)
value
= f.read.to_i + 1
f.rewind
f.write("#{value}\n")
f.flush
f.truncate(f.pos)
}

# 読み込みロック(read lock)を使用してカウンタを読み込み。
File....
...", "r")
f.flock(File::LOCK_SH)
puts "locked by process2"
sleep
5
puts "unlocked by process2"
}

sleep
5

f.flock(File::LOCK_UN)
puts "unlocked by process1"
sleep
1 # <- 子プロセスが確実に先にロックするための sleep
f.flock(File::LOCK_EX)
puts "re-locked by process1"

# => l...

Thread#exit -> self (19.0)

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

...ead#value の返り値は不定です。
自身がメインスレッドであるか最後のスレッドである場合は、プロセスを Kernel.#exit(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#kill -> self (19.0)

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

...ead#value の返り値は不定です。
自身がメインスレッドであるか最後のスレッドである場合は、プロセスを Kernel.#exit(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 節が実行されます。

...ead#value の返り値は不定です。
自身がメインスレッドであるか最後のスレッドである場合は、プロセスを Kernel.#exit(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!...

絞り込み条件を変える