90件ヒット
[1-90件を表示]
(0.025秒)
種類
- インスタンスメソッド (63)
- クラス (18)
- 特異メソッド (9)
クラス
-
Thread
:: Queue (9) -
Thread
:: SizedQueue (63)
キーワード
- Queue (9)
- SizedQueue (9)
- close (9)
- deq (9)
- max (9)
- max= (9)
-
num
_ waiting (9) - pop (9)
- shift (9)
検索結果
先頭5件
-
Thread
:: SizedQueue . new(max) -> Thread :: SizedQueue (21220.0) -
Thread::SizedQueue オブジェクトを生成します。
...Thread::SizedQueue オブジェクトを生成します。
@param max キューのサイズの最大値です。... -
Thread
:: SizedQueue (6020.0) -
サイズの最大値を指定できる Thread::Queue です。
...り。q をサイズ 1 の SizedQueue オブジェクトに
することによって、入力される行と出力される行が同じ順序になります。
q = [] にすると入力と違った順序で行が出力されます。
require 'thread'
q = SizedQueue.new(1)
th = Thread.start... -
Thread
:: SizedQueue # deq(non _ block = false) -> object (3026.0) -
キューからひとつ値を取り出します。 キューに push しようと待っているスレッドがあれば、実行を再開させます。
...'
q = SizedQueue.new(4)
th1 = Thread.start do
while resource = q.pop
puts resource
end
end
[:resource1, :resource2, :resource3, nil].each{|r|
q.push(r)
}
th1.join
# => resource1
# resource2
# resource3
//}
//emlist[例: nonblock = true][ruby]{
require 'thread'
q = SizedQueue.new(4)... -
Thread
:: SizedQueue # pop(non _ block = false) -> object (3026.0) -
キューからひとつ値を取り出します。 キューに push しようと待っているスレッドがあれば、実行を再開させます。
...'
q = SizedQueue.new(4)
th1 = Thread.start do
while resource = q.pop
puts resource
end
end
[:resource1, :resource2, :resource3, nil].each{|r|
q.push(r)
}
th1.join
# => resource1
# resource2
# resource3
//}
//emlist[例: nonblock = true][ruby]{
require 'thread'
q = SizedQueue.new(4)... -
Thread
:: SizedQueue # shift(non _ block = false) -> object (3026.0) -
キューからひとつ値を取り出します。 キューに push しようと待っているスレッドがあれば、実行を再開させます。
...'
q = SizedQueue.new(4)
th1 = Thread.start do
while resource = q.pop
puts resource
end
end
[:resource1, :resource2, :resource3, nil].each{|r|
q.push(r)
}
th1.join
# => resource1
# resource2
# resource3
//}
//emlist[例: nonblock = true][ruby]{
require 'thread'
q = SizedQueue.new(4)... -
Thread
:: SizedQueue # close -> self (3014.0) -
キューを close します。詳しくは Thread::Queue#close を参照してください。
...クトを追加するスレッドを待機している場合は
ClosedQueueError が発生して中断されます。
//emlist[例][ruby]{
q = SizedQueue.new(4)
[:resource1, :resource2, :resource3, nil].each { |r| q.push(r) }
q.closed? # => false
q.close
q.closed? # => true
//}
@see Thread::Queu... -
Thread
:: SizedQueue # max -> Integer (3014.0) -
キューの最大サイズを返します。
...キューの最大サイズを返します。
//emlist[例][ruby]{
q = SizedQueue.new(4)
q.max # => 4
//}... -
Thread
:: SizedQueue # max=(n) (3014.0) -
キューの最大サイズを設定します。
...キューの最大サイズを設定します。
@param n キューの最大サイズを指定します。
//emlist[例][ruby]{
q = SizedQueue.new(4)
q.max # => 4
q.max = 5
q.max # => 5
//}... -
Thread
:: Queue # num _ waiting -> Integer (20.0) -
キューを待っているスレッドの数を返します。
...キューを待っているスレッドの数を返します。
//emlist[例][ruby]{
require 'thread'
q = SizedQueue.new(1)
q.push(1)
t = Thread.new { q.push(2) }
sleep 0.05 until t.stop?
q.num_waiting # => 1
q.pop
t.join
//}... -
Thread
:: Queue (14.0) -
Queue はスレッド間の FIFO(first in first out) の通信路です。ス レッドが空のキューを読み出そうとすると停止します。キューになんら かの情報が書き込まれると実行は再開されます。
...ると実行は再開されます。
最大サイズが指定できる Queue のサブクラス Thread::SizedQueue も提供されています。
=== 例
require 'thread'
q = Queue.new
th1 = Thread.start do
while resource = q.pop
puts resource
end
end
[:resource1, :reso...