![](/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.