るりまサーチ

最速Rubyリファレンスマニュアル検索!
274件ヒット [1-100件を表示] (0.079秒)
トップページ > クエリ:t[x] > クエリ:ThreadError[x] > ライブラリ:ビルトイン[x]

別のキーワード

  1. openssl t61string
  2. asn1 t61string
  3. t61string new
  4. matrix t
  5. fiddle type_size_t

クラス

キーワード

検索結果

<< 1 2 3 > >>

ThreadError (44002.0)

Thread 関連のエラーが起きたときに発生します。

...Thread 関連のエラーが起きたときに発生します。

* カレントスレッドを Thread#join しようとしたとき
* Thread#join でデッドロックしそうになったとき
* 終了したスレッドを Thread#wakeup あるいは Thread#run しようとしたとき
*...
...スレッドが一つしかないのに Thread.stop しようとしたとき
* Kernel.#throw がスレッド内で Kernel.#catch されないとき
* スレッドから return しようとしたとき

* イテレータを与えずにスレッドを生成しようとしたとき
* カレン...

TracePoint.trace(*events) {|obj| ... } -> TracePoint (9208.0)

新しい TracePoint オブジェクトを作成して自動的にトレースを開始し ます。TracePoint.new のコンビニエンスメソッドです。

...新しい TracePoint オブジェクトを作成して自動的にトレースを開始し
ます。TracePoint.new のコンビニエンスメソッドです。

@param events トレースするイベントを String か Symbol で任
意の数指定します。指定できる値に...
...ついては
T
racePoint.new を参照してください。

//emlist[例][ruby]{
t
race = TracePoint.trace(:call) { |tp| [tp.lineno, tp.event] }
# => #<TracePoint:0x007f786a452448>

t
race.enabled? # => true
//}

@raise ThreadError ブロックを指定しなかった場合に発生し...

Thread.start(*arg) {|*arg| ... } -> Thread (6120.0)

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

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

基本的に Thread.new と同じですが、
new メソッドと違い initialize メソッドを呼びません。

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

@raise ThreadError 現在のスレッドが属する ThreadGroup が freeze されている場合に発生します。またブロックを与えられずに呼ばれた場合にも...
...ードは間違いです。スレッドの実行が開始される前に
変数 i が書き変わる可能性があるからです。

for i in 1..5
T
hread.start { p i }
end

上の例は以下のように書き直すべきです。

for i in 1..5
T
hread.start(i) {|t| p t }
end...

Thread::Queue#shift(non_block = false) -> object (6114.0)

キューからひとつ値を取り出します。キューが空の時、呼出元のスレッドは停止します。

..._block true を与えると、キューが空の時に例外 ThreadError が発生します。

//emlist[例][ruby]{
require 'thread'

q = Queue.new

t
h1 = Thread.start do
while resource = q.pop
puts resource
end
end

[:resource1, :resource2, :resource3, nil].each { |r|
q.push(r)
}

t
h1.jo...
...in
//}

//emlist[例: nonblock = true][ruby]{
require 'thread'

q = Queue.new

t
h1 = Thread.start do
while resource = q.pop
puts resource
end
end

[:resource1, :resource2, :resource3, nil].each { |r|
q.push(r)
}

begin
t
h1.join
q.pop(true)
rescue => e
p e
end

# => resource1
# resour...
...ce2
# resource3
# => #<ThreadError: queue empty>
# => "queue empty"
//}...

Thread::SizedQueue#shift(non_block = false) -> object (6114.0)

キューからひとつ値を取り出します。 キューに push しようと待っているスレッドがあれば、実行を再開させます。

...ock true を与えると、キューが空の時に例外 ThreadError が発生します。

//emlist[例][ruby]{
require 'thread'

q = SizedQueue.new(4)

t
h1 = Thread.start do
while resource = q.pop
puts resource
end
end

[:resource1, :resource2, :resource3, nil].each{|r|
q.push(r)
}

t
h1...
...urce2
# resource3
//}

//emlist[例: nonblock = true][ruby]{
require 'thread'

q = SizedQueue.new(4)

t
h1 = Thread.start do
while resource = q.pop
puts resource
end
end

[:resource1, :resource2, :resource3, nil].each{|r|
q.push(r)
}

begin
t
h1.join
q.pop(true)
rescue => e
p e
p e.m...
...essage
end

# => resource1
# resource2
# resource3
# => #<ThreadError: queue empty>
# => "queue empty"
//}

@see Thread::Queue#pop...

絞り込み条件を変える

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

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

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

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

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

t
g = ThreadGroup.new
t
1 = Thread.new { sleep }
t
2 = Thread.new { sleep }
puts "t1 is #{t1}" # => t1 is #<Thread:0x50bef60>
puts "t2 is #{t2}" # => t2 is #<Thread:0x50beed0>
t
g.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>]
//}...

Thread#join(limit) -> self | nil (3120.0)

スレッド self の実行が終了するまで、カレントスレッドを停止し ます。self が例外により終了していれば、その例外がカレントス レッドに対して発生します。

...ドに対して発生します。

limit を指定して、limit 秒過ぎても自身が終了しない場合、nil を返します。

@param limit タイムアウトする時間を整数か小数で指定します。単位は秒です。

@raise ThreadError join を実行することによって...
...

以下は、生成したすべてのスレッドの終了を待つ例です。

t
hreads = []
t
hreads.push(Thread.new { n = rand(5); sleep n; n })
t
hreads.push(Thread.new { n = rand(5); sleep n; n })
t
hreads.push(Thread.new { n = rand(5); sleep n; n })

t
hreads.each {|t| t.join}...

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

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

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

基本的に Thread.new と同じですが、
new メソッドと違い initialize メソッドを呼びません。

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

@raise ThreadError 現在のスレッドが属する ThreadGroup が freeze されている場合に発生します。またブロックを与えられずに呼ばれた場合にも...
...ードは間違いです。スレッドの実行が開始される前に
変数 i が書き変わる可能性があるからです。

for i in 1..5
T
hread.start { p i }
end

上の例は以下のように書き直すべきです。

for i in 1..5
T
hread.start(i) {|t| p t }
end...

Thread.new(*arg) {|*arg| ... } -> Thread (3120.0)

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

...開始と同時にその
スレッド固有のローカル変数に値を渡すために使用します。

@raise ThreadError 現在のスレッドが属する ThreadGroup が freeze されている場合に発生します。またブロックを与えられずに呼ばれた場合にも...
...のコードは間違いです。スレッドの実行が開始される前に
変数 i が書き変わる可能性があるからです。

for i in 1..5
T
hread.new { p i }
end

上の例は以下のように書き直すべきです。

for i in 1..5
T
hread.new(i) {|t| p t }
end...
<< 1 2 3 > >>