![](/img/trans.png)
[英]Java take() Method of LinkedBlockingQueue is stuck, even if the Queue should not be empty
[英]LinkedBlockingQueue - java - queue full
我有一個鏈接的阻塞隊列,我在其周圍進行協調
20個消費者線程和20個生產者線程的工作。
容量是隊列中的10個(我目前正在測試)。
但是當我進入一個完整的隊列時,而不是阻塞,
我在下面收到此錯誤。 為什么這樣? JavaDoc說
在這種情況下,隊列應該是阻塞的。
我誤會了什么嗎?
java.lang.IllegalStateException: Queue full
at java.util.AbstractQueue.add(AbstractQueue.java:98)
at java.util.AbstractQueue.addAll(AbstractQueue.java:187)
你需要在LinkedBlockingQueue
上使用put 。 put
將在必要時等待,直到空間可用。 offer
將返回指示成功或失敗的布爾值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.