Ruby 3.4 リファレンスマニュアル

instance method Thread::Queue#close

close -> selfRuby 2.3.0 から[permalink][rdoc][edit]

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

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

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

例:

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