superclass=Object
type=class
library=thread
extended=
included=

Queueはスレッド間のFIFO(first in first out)の通信路です。ス
レッドが空のqueueを読み出そうとすると停止します。queueになんら
かの情報が書き込まれると実行は再開されます。

最大サイズが指定できるQueueのサブクラス[[c:SizedQueue]]も提供されています。

=== 例

  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)
  }

  th1.join

実行すると以下のように出力します。

  $ ruby que.rb
  resource1
  resource2
  resource3
