るりまサーチ

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

別のキーワード

  1. スレッド thread
  2. スレッド
  3. スレッド spec/rubycmd
  4. スレッド spec/terminate

ライブラリ

クラス

キーワード

検索結果

<< 1 2 > >>

ThreadGroup (44212.0)

スレッドグループを表すクラスです。グループに属する Thread をまとめて 操作することができます。

...スレッドグループを表すクラスです。グループに属する Thread をまとめて
操作することができます。

Thread
は必ずいずれかひとつのスレッドグループに属します。
生成されたばかりの Thread は、生成した Thread のグループを...
...
メインスレッドはデフォルトでは ThreadGroup::Default に属します。

: 例:

生成したすべてのThreadが終了するのを待つ

5.times {
Thread
.new { sleep 1; puts "#{Thread.current} finished" }
}

(ThreadGroup::Default.list - [Thread.current]).e...
...oin}

puts "all threads finished"

対象の Thread Thread を起こす可能性がある場合
(Thread.exclusive参照)

Thread
.exclusive do
(ThreadGroup::Default.list - [Thread.current]).each {|th| th.join}
end

=== ThreadGroup#freeze と ThreadGroup#enclose の違い...

ThreadGroup::Default -> ThreadGroup (24233.0)

デフォルトで定義されている ThreadGroup です。メインスレッド は最初このグループに属します。

...デフォルトで定義されている ThreadGroup です。メインスレッド
は最初このグループに属します。...

ThreadGroup#add(thread) -> self (24223.0)

スレッド thread が属するグループを自身に変更します。

...
スレッド
thread が属するグループを自身に変更します。

@param thread 自身に加えたいスレッドを指定します。

@raise ThreadError 自身が freeze されているか enclose されている場合に、発生します。また引数 thread が属する ThreadGroup...
...{ThreadGroup::Default.list}"
# => Initial group is [#<Thread:0x4a49168 run>]

tg = ThreadGroup.new
t1 = Thread.new { sleep }
t2 = Thread.new { sleep }
puts "t1 is #{t1}" # => t1 is #<Thread:0x50bef60>
puts "t2 is #{t2}" # => t2 is #<Thread:0x50beed0>
tg.add(t1)
puts "Initial group now #{ThreadGroup:...
...:Default.list}"
# => Initial group now [#<Thread:0x3039168 run>, #<Thread:0x50beed0 run>]
puts "tg group now #{tg.list}"
# => tg group now [#<Thread:0x50bef60 run>]
//}...

ThreadGroup#list -> [Thread] (24161.0)

self に属するスレッドの配列を返します。 version 1.8 では、aborting 状態であるスレッド も要素に含まれます。つまり「生きている」スレッドの配列を返します。

...self に属するスレッドの配列を返します。
version 1.8 では、aborting 状態であるスレッド
も要素に含まれます。つまり「生きている」スレッドの配列を返します。

//emlist[例][ruby]{
ThreadGroup
::Default.list # => [#<Thread:0x00007f8f13867078...

ThreadGroup#enclose -> self (24132.0)

自身への ThreadGroup#add によるスレッドの追加・削除を禁止します。 enclose された ThreadGroup に追加や削除を行うと例外 ThreadError が発生します。

...への ThreadGroup#add によるスレッドの追加・削除を禁止します。
enclose された ThreadGroup に追加や削除を行うと例外 ThreadError が発生します。

ただし、Thread.new によるスレッドの追加は禁止されません。enclose されたスレッド...
...
属するスレッドが新たにスレッドを生成した場合、生成されたスレッドスレッドグループ A に属します。

追加の例:

thg = ThreadGroup.new.enclose
thg.add Thread.new {}

=> -:2:in `add': can't move to the enclosed thread group (ThreadError)

...
...除の例:

thg1 = ThreadGroup.new
thg2 = ThreadGroup.new

th = Thread.new {sleep 1}

thg1.add th
thg1.enclose
thg2.add th

=> -:8:in `add': can't move from the enclosed thread group (ThreadError)...

絞り込み条件を変える

Thread#group -> ThreadGroup (21245.0)

スレッドが属している ThreadGroup オブジェクトを返します。

...
スレッド
が属している ThreadGroup オブジェクトを返します。

p Thread.current.group == ThreadGroup::Default
# => true...

Thread.fork(*arg) {|*arg| ... } -> Thread (21182.0)

スレッドを生成して、ブロックの評価を開始します。 生成したスレッドを返します。

...
スレッド
を生成して、ブロックの評価を開始します。
生成したスレッドを返します。

基本的に 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 (21182.0)

スレッドを生成して、ブロックの評価を開始します。 生成したスレッドを返します。

...
スレッド
を生成して、ブロックの評価を開始します。
生成したスレッドを返します。

基本的に 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.new(*arg) {|*arg| ... } -> Thread (21175.0)

スレッドを生成して、ブロックの評価を開始します。 生成したスレッドを返します。

...
スレッド
を生成して、ブロックの評価を開始します。
生成したスレッドを返します。

@param arg 引数 arg はそのままブロックに渡されます。スレッドの開始と同時にその
スレッド
固有のローカル変数に値を渡すため...
...ます。

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

1.6.8から1.8.0への変更点(まとめ) (228.0)

1.6.8から1.8.0への変更点(まとめ) * ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/文法の変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/正規表現>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Marshal>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Windows 対応>)) * ((<1.6.8から1.8.0への変更点(まとめ)/廃止された(される予定の)機能>)) * ((<1.6.8から1.8.0への変更点(まとめ)/ライブラリ>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張ライブラリAPI>)) * ((<1.6.8から1.8.0への変更点(まとめ)/バグ修正>)) * ((<1.6.8から1.8.0への変更点(まとめ)/サポートプラットフォームの追加>))

...=== Thread

: ((<Thread#keys|Thread/keys>)) [new]
追加。Thread固有データのキーの配列を返します。


: ((<Thread#terminate|Thread/terminate>)) [new]

追加。Thread#kill と同じ。

: ((<Thread#group|Thread/group>)) [new]
追加

=== ThreadGroup

: ((<ThreadGroup#enc...
...lose|ThreadGroup/enclose>)) [new]
: ((<ThreadGroup#enclosed?|ThreadGroup/enclosed?>)) [new]

追加 ((<ruby-dev:20655>))

ThreadGroup
への Thread 追加/削除を(freeze せずに)禁止します。

=== Time

: ((<Time#getgm|Time/getgm>)) [new]
: ((<Time#getlocal|Time/getlocal>))...
...した。

=== Thread

: ((<Thread#join|Thread/join>)) [compat]

スレッド
を待ち合わせる時間を limit で指定できるようになりました。

: ((<Thread/Thread.list>)) [compat]
: ((<ThreadGroup#list|ThreadGroup/list>)) [compat]
終了中(aborting)のスレッドもリスト...

絞り込み条件を変える

<< 1 2 > >>