るりまサーチ (Ruby 2.4.0)

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

別のキーワード

  1. _builtin queue
  2. queue new
  3. queue <<
  4. queue enq
  5. queue deq

ライブラリ

モジュール

キーワード

検索結果

Thread::Queue#close -> self (9112.0)

キューを close します。close 済みのキューを再度 open することはできません。

キューを close します。close 済みのキューを再度 open することはできません。

close 後は以下のように動作します。

* Thread::Queue#closed? は true を返します
* Thread::Queue#close は無視されます
* Thread::Queue#enq/push/<< は ClosedQueueError を発生します
* Thread::Queue#empty? が false を返す場合は Thread::Queue#deq/pop/shift は通常通りオブジェクトを返します

また、ClosedQueueError...

Thread::SizedQueue#close -> self (9088.0)

キューを close します。詳しくは Thread::Queue#close を参照してください。

キューを close します。詳しくは Thread::Queue#close を参照してください。

Thread::Queue とはキューにオブジェクトを追加するスレッドの動作が
異なります。キューにオブジェクトを追加するスレッドを待機している場合は
ClosedQueueError が発生して中断されます。

//emlist[例][ruby]{
q = SizedQueue.new(4)

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

q.closed? # => false
q.close
q.c...

Thread::Queue#deq(non_block = false) -> object (9076.0)

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

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

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

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

q = Queue.new

th1 = Thread.start do
while resource = q.pop
puts resource
end
end

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

t...

Thread::Queue#pop(non_block = false) -> object (9076.0)

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

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

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

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

q = Queue.new

th1 = Thread.start do
while resource = q.pop
puts resource
end
end

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

t...

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

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

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

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

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

q = Queue.new

th1 = Thread.start do
while resource = q.pop
puts resource
end
end

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

t...

絞り込み条件を変える

Thread::SizedQueue#deq(non_block = false) -> object (9058.0)

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

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

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

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

q = SizedQueue.new(4)

th1 = Thread.start do
while resource = q.pop
puts resource
end
end

[:resource1, :resource2, :resource3, nil].eac...

Thread::SizedQueue#pop(non_block = false) -> object (9058.0)

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

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

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

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

q = SizedQueue.new(4)

th1 = Thread.start do
while resource = q.pop
puts resource
end
end

[:resource1, :resource2, :resource3, nil].eac...

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

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

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

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

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

q = SizedQueue.new(4)

th1 = Thread.start do
while resource = q.pop
puts resource
end
end

[:resource1, :resource2, :resource3, nil].eac...

Thread::Queue#clear -> () (9022.0)

キューを空にします。返り値は不定です。

キューを空にします。返り値は不定です。

//emlist[例][ruby]{
q = Queue.new

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

q.length # => 4
q.clear
q.length # => 0
//}

Thread::Queue#closed? -> bool (9022.0)

キューが close されている時に true を返します。

キューが close されている時に true を返します。

//emlist[例][ruby]{
q = Queue.new

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

q.closed? # => false
q.close
q.closed? # => true
//}

絞り込み条件を変える

Thread::Queue#empty? -> bool (9022.0)

キューが空の時、真を返します。

キューが空の時、真を返します。

//emlist[例][ruby]{
q = Queue.new
q.empty? # => true
q.push(:resource)
q.empty? # => false
//}

Thread::Queue#length -> Integer (9022.0)

キューの長さを返します。

キューの長さを返します。

//emlist[例][ruby]{
q = Queue.new

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

q.length # => 4
//}

Thread::Queue#size -> Integer (9022.0)

キューの長さを返します。

キューの長さを返します。

//emlist[例][ruby]{
q = Queue.new

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

q.length # => 4
//}

Thread::SizedQueue#<<(obj) -> () (9022.0)

キューに与えられたオブジェクトを追加します。

キューに与えられたオブジェクトを追加します。

キューのサイズが Thread::SizedQueue#max に達している場合は、
non_block が真でなければ、キューのサイズが Thread::SizedQueue#max
より小さくなるまで他のスレッドに実行を譲ります。
その後、キューに与えられたオブジェクトを追加します。

@param obj キューに追加したいオブジェクトを指定します。
@param non_block true を与えると、キューが一杯の時に例外 ThreadError が発生します。

@see Thread::Queue#push

Thread::SizedQueue#enq(obj, non_block = false) -> () (9022.0)

キューに与えられたオブジェクトを追加します。

キューに与えられたオブジェクトを追加します。

キューのサイズが Thread::SizedQueue#max に達している場合は、
non_block が真でなければ、キューのサイズが Thread::SizedQueue#max
より小さくなるまで他のスレッドに実行を譲ります。
その後、キューに与えられたオブジェクトを追加します。

@param obj キューに追加したいオブジェクトを指定します。
@param non_block true を与えると、キューが一杯の時に例外 ThreadError が発生します。

@see Thread::Queue#push

絞り込み条件を変える

Thread::SizedQueue#push(obj, non_block = false) -> () (9022.0)

キューに与えられたオブジェクトを追加します。

キューに与えられたオブジェクトを追加します。

キューのサイズが Thread::SizedQueue#max に達している場合は、
non_block が真でなければ、キューのサイズが Thread::SizedQueue#max
より小さくなるまで他のスレッドに実行を譲ります。
その後、キューに与えられたオブジェクトを追加します。

@param obj キューに追加したいオブジェクトを指定します。
@param non_block true を与えると、キューが一杯の時に例外 ThreadError が発生します。

@see Thread::Queue#push

Thread::Queue#<<(value) -> () (9004.0)

キューの値を追加します。待っているスレッドがいれば実行を再開 させます。返り値は不定です。

キューの値を追加します。待っているスレッドがいれば実行を再開
させます。返り値は不定です。

Thread::Queue#enq(value) -> () (9004.0)

キューの値を追加します。待っているスレッドがいれば実行を再開 させます。返り値は不定です。

キューの値を追加します。待っているスレッドがいれば実行を再開
させます。返り値は不定です。

Thread::Queue#num_waiting -> Integer (9004.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#push(value) -> () (9004.0)

キューの値を追加します。待っているスレッドがいれば実行を再開 させます。返り値は不定です。

キューの値を追加します。待っているスレッドがいれば実行を再開
させます。返り値は不定です。

絞り込み条件を変える

Thread::SizedQueue#max -> Integer (9004.0)

キューの最大サイズを返します。

キューの最大サイズを返します。

//emlist[例][ruby]{
q = SizedQueue.new(4)
q.max # => 4
//}

Thread::SizedQueue#max=(n) (9004.0)

キューの最大サイズを設定します。

キューの最大サイズを設定します。

@param n キューの最大サイズを指定します。

//emlist[例][ruby]{
q = SizedQueue.new(4)
q.max # => 4
q.max = 5
q.max # => 5
//}

WEBrick::GenericServer#tokens -> Thread::SizedQueue (304.0)

MaxClient の設定のために使われる Thread::SizedQueue オブジェクト を返します。Thread::SizedQueue オブジェクトのサイズは現在受け付け ることのできるクライアントの数です。

MaxClient の設定のために使われる Thread::SizedQueue オブジェクト
を返します。Thread::SizedQueue オブジェクトのサイズは現在受け付け
ることのできるクライアントの数です。

MaxClient を知りたい場合は self.tokens.max です。
self.tokens.max - self.tokens.length が現在のクライアントの接続数です。

Forwardable#def_delegator(accessor, method, ali = method) -> () (76.0)

メソッドの委譲先を設定します。

メソッドの委譲先を設定します。

@param accessor 委譲先のオブジェクト

@param method 委譲先のメソッド

@param ali 委譲元のメソッド

委譲元のオブジェクトで ali が呼び出された場合に、
委譲先のオブジェクトの method へ処理が委譲されるようになります。

委譲元と委譲先のメソッド名が同じ場合は, ali を省略することが可能です。

def_delegator は def_instance_delegator の別名になります。

例:

require 'forwardable'
class MyQueue
exten...

Forwardable#def_instance_delegator(accessor, method, ali = method) -> () (76.0)

メソッドの委譲先を設定します。

メソッドの委譲先を設定します。

@param accessor 委譲先のオブジェクト

@param method 委譲先のメソッド

@param ali 委譲元のメソッド

委譲元のオブジェクトで ali が呼び出された場合に、
委譲先のオブジェクトの method へ処理が委譲されるようになります。

委譲元と委譲先のメソッド名が同じ場合は, ali を省略することが可能です。

def_delegator は def_instance_delegator の別名になります。

例:

require 'forwardable'
class MyQueue
exten...

絞り込み条件を変える

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

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

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

@param nonblock true を与えると、キューが空の時、例外 ThreadsWait::ErrNoFinishedThread が発生します。

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

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

#使用例
require 'thwait'

threads = []
2.times {|i|
threads << Thread.n...