Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Thread::Queueクラス > close

instance method Thread::Queue#close

close -> self[permalink][rdoc]

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

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

また、ClosedQueueErrorStopIteration を継承しているため、 close する事でループから脱出する事もできます。

例:

q = Queue.new
Thread.new{
  while e = q.deq # wait for nil to break loop
    # ...
  end
}
q.close