LinkedBlockingQueue - java - 队列已满

pet*_*rov 3 java multithreading

我有一个链接阻塞队列,我围绕该队列协调
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)
Run Code Online (Sandbox Code Playgroud)

Tim*_*der 7

你需要使用投入上LinkedBlockingQueue.put将等待所需的时间,直到空间可用.offer将返回表示成功或失败的布尔值.