るりまサーチ

最速Rubyリファレンスマニュアル検索!
83件ヒット [1-83件を表示] (0.031秒)
トップページ > クエリ:Thread[x] > クエリ:ThreadsWait[x]

別のキーワード

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

ライブラリ

クラス

検索結果

ThreadsWait (44000.0)

複数スレッドの終了を待つ機能を提供します。

複数スレッドの終了を待つ機能を提供します。

ThreadsWait#threads -> Array (30136.0)

同期されるスレッドの一覧を配列で返します。

...ドの一覧を配列で返します。

使用例
require 'thwait'

thread
s = []
3.times {|i|
thread
s << Thread.new { sleep 1; p Thread.current }
}

thall = ThreadsWait.new(*threads)
p thall.threads
#=> [#<Thread:0x21750 sleep>, #<Thread:0x216c4 sleep>, #<Thread:0x21638 sleep>]...

ThreadsWait.new(*threads) -> ThreadsWait (24379.0)

指定されたスレッドの終了をまつための、スレッド同期オブジェクトをつくります。

...をつくります。

@param threads 終了を待つスレッドを一つもしくは複数指定します。

使用例
require 'thwait'

thread
s = []
5.times {|i|
thread
s << Thread.new { sleep 1; p Thread.current }
}

thall = ThreadsWait.new(*threads)
thall.all_waits{|th|
pr...
...#=> #<Thread:0x214bc run>
#=> #<Thread:0x21548 run>
#=> #<Thread:0x215d4 run>
#=> #<Thread:0x21660 run>
#=> #<Thread:0x21430 run>
#=> end #<Thread:0x214bc dead>
#=> end #<Thread:0x21548 dead>
#=> end #<Thread:0x215d4 dead>
#=> end #<Thread:0x21660 dead>
#=> end #<Thread:0x21430...

ThreadsWait.all_waits(*threads) {|thread| ...} -> () (24279.0)

指定されたスレッドすべてが終了するまで待ちます。 ブロックが与えられた場合、スレッド終了時にブロックを評価します。

...クを評価します。

@param threads 終了するまでまつスレッドを一つもしくは複数指定します。

require 'thwait'

thread
s = []
5.times {|i|
thread
s << Thread.new { sleep 1; p Thread.current }
}
ThreadsWait
.all_waits(*threads) {|th| printf("end %s\n", th.insp...
...#<Thread:0x21584 run>
#=> #<Thread:0x21610 run>
#=> #<Thread:0x2169c run>
#=> #<Thread:0x21728 run>
#=> #<Thread:0x214f8 run>
#=> end #<Thread:0x21584 dead>
#=> end #<Thread:0x21610 dead>
#=> end #<Thread:0x2169c dead>
#=> end #<Thread:0x21728 dead>
#=> end #<Thread:0x214f8 dead>...

ThreadsWait.all_waits(*threads) -> () (24179.0)

指定されたスレッドすべてが終了するまで待ちます。 ブロックが与えられた場合、スレッド終了時にブロックを評価します。

...クを評価します。

@param threads 終了するまでまつスレッドを一つもしくは複数指定します。

require 'thwait'

thread
s = []
5.times {|i|
thread
s << Thread.new { sleep 1; p Thread.current }
}
ThreadsWait
.all_waits(*threads) {|th| printf("end %s\n", th.insp...
...#<Thread:0x21584 run>
#=> #<Thread:0x21610 run>
#=> #<Thread:0x2169c run>
#=> #<Thread:0x21728 run>
#=> #<Thread:0x214f8 run>
#=> end #<Thread:0x21584 dead>
#=> end #<Thread:0x21610 dead>
#=> end #<Thread:0x2169c dead>
#=> end #<Thread:0x21728 dead>
#=> end #<Thread:0x214f8 dead>...

絞り込み条件を変える

ThreadsWait#join_nowait(*threads) -> () (24148.0)

終了を待つスレッドの対象として、threads で指定されたスレッドを指定します。 しかし、実際には終了をまちません。

...threads で指定されたスレッドを指定します。
しかし、実際には終了をまちません。

@param threads 複数スレッドの終了を待つスレッドに指定されたthreadsを加えます。

require 'thwait'

thread
s = []
5.times {|i|
thread
s << Thread.new...
...{ sleep 1; p Thread.current }
}

thall = ThreadsWait.new
p thall.threads #=> []
thall.join_nowait(*threads)
p thall.threads #=> [#<Thread:0x21638 sleep>, #<Thread:0x215ac sleep>, #<Thread:0x21520 sleep>, #<Thread:0x21494 sleep>, #<Thread:0x21408 sleep>]
# 実際には終了を待って...

ThreadsWait#join(*threads) -> () (24142.0)

終了を待つスレッドの対象として、threads で指定されたスレッドを指定します。

...threads で指定されたスレッドを指定します。

@param threads 複数スレッドの終了を待つスレッドに指定されたthreadsを加えます。

require 'thwait'

thread
s = []
5.times {|i|
thread
s << Thread.new { sleep 1; p Thread.current }
}

thall = ThreadsWai...
...t.new
p thall.threads #=> []
thall.join(*threads)
p thall.threads
#=> [#<Thread:0x216ec dead>, #<Thread:0x21660 dead>, #<Thread:0x215d4 dead>, #<Thread:0x214bc dead>]...

ThreadsWait#next_wait(nonblock = nil) -> Thread (24119.0)

指定したスレッドのどれかが終了するまで待ちます。

... ThreadsWait::ErrNoFinishedThread が発生します。

@raise ErrNoWaitingThread 終了をまつスレッドが存在しない時、発生します。

@raise ErrNoFinishedThread nonblock がtrue でかつ、キューが空の時、発生します。

#使用例
require 'thwait'

thread
s...
...= []
2.times {|i|
thread
s << Thread.new { sleep i }
}

thall = ThreadsWait.new
thall.join_nowait(*threads)
until thall.empty?
th = thall.next_wait
p th
end

@see Queue#pop...

ThreadsWait#all_waits -> () (24078.0)

指定されたスレッドすべてが終了するまで待ちます。 ブロックが与えられた場合、スレッド終了時にブロックを評価します。

...e 'thwait'

thread
s = []
5.times {|i|
thread
s << Thread.new { sleep 1; p Thread.current }
}

thall = ThreadsWait.new(*threads)
thall.all_waits{|th|
printf("end %s\n", th.inspect)
}

# 出力例
#=> #<Thread:0x214bc run>
#=> #<Thread:0x21548 run>
#=> #<Thread:0x215d4 r...
...un>
#=> #<Thread:0x21660 run>
#=> #<Thread:0x21430 run>
#=> end #<Thread:0x214bc dead>
#=> end #<Thread:0x21548 dead>
#=> end #<Thread:0x215d4 dead>
#=> end #<Thread:0x21660 dead>
#=> end #<Thread:0x21430 dead>...

ThreadsWait#empty? -> bool (24018.0)

同期されるスレッドが存在するならば true をかえします。

...ッドが存在するならば true をかえします。

使用例
require 'thwait'

thread
s = []
3.times {|i|
thread
s << Thread.new { sleep 1; p Thread.current }
}

thall = ThreadsWait.new
p thall.threads.empty? #=> true
thall.join(*threads)
p thall.threads.empty? #=> false...

絞り込み条件を変える

ThreadsWait#finished? -> bool (24018.0)

すでに終了したスレッドが存在すれば true を返します。

...に終了したスレッドが存在すれば true を返します。

使用例
require 'thwait'

thread
s = []
3.times {|i|
thread
s << Thread.new { sleep 1; p Thread.current }
}

thall = ThreadsWait.new(*threads)
p thall.finished? #=> false
sleep 3
p thall.finished? #=> true...

ThreadsWait::ErrNoFinishedThread (12006.0)

nonblock がtrue でかつ、キューが空の時、発生します。

...nonblock がtrue でかつ、キューが空の時、発生します。

@see ThreadsWait#next_wait...

ThreadsWait::ErrNoWaitingThread (12006.0)

終了を待つスレッドが存在しない時、発生します。

...終了を待つスレッドが存在しない時、発生します。

@see ThreadsWait#next_wait...

NEWS for Ruby 2.7.0 (12.0)

NEWS for Ruby 2.7.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

...ルしてください。
* CMath (cmath gem)
* Scanf (scanf gem)
* Shell (shell gem)
* Synchronizer (sync gem)
* ThreadsWait (thwait gem)
* E2MM (e2mmap gem)

* Proc
* Proc#to_sの形式が変更されました。 16101

* Range
* Range#minmaxが最大...
...ashオブジェクトのデータ構造が変わりました。 15602

* Monitor
* MonitorクラスがC拡張になりました。 16255

* Thread
* VMスタックのメモリ確保はネイティブスレッドのスタックと同時になり、
スレッドアロケーション...