るりまサーチ

最速Rubyリファレンスマニュアル検索!
9件ヒット [1-9件を表示] (0.021秒)
トップページ > クラス:Thread::Queue[x] > クエリ:thread[x] > クエリ:enq[x] > クエリ:close[x]

別のキーワード

  1. drb thread
  2. thread kill
  3. thread join
  4. thread exit
  5. thread pending_interrupt?

ライブラリ

検索結果

Thread::Queue#close -> self (21200.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 は StopIteration を継承しているため、
close
する事でループから脱出する事もできます。

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