Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Thread::Queueクラス > close
close -> self
[permalink][rdoc]キューを close します。close 済みのキューを再度 open することはできません。
close 後は以下のように動作します。
また、ClosedQueueError は StopIteration を継承しているため、 close する事でループから脱出する事もできます。
例:
q = Queue.new Thread.new{ while e = q.deq # wait for nil to break loop # ... end } q.close