为什么在队列变为非空之前不会阻塞的方法?

时间:2015-01-30 14:31:00

标签: java queue

在阻塞queue documentation中说,检查并阻塞队列直到它变为非空的方法不适用。但对我来说,目前尚不清楚原因。你不能解释一下吗?

1 个答案:

答案 0 :(得分:1)

也许你误解了那部分文档(将不同方法分为四类的表格)?

javadoc只是说BlockingQueue类不需要在检查队列内容时可能阻塞(或超时)的方法,这与在队列中插入或删除项目等操作不同,其中如果队列在该精确时刻“不可用”,您可能需要等待或超时的选项。

我不确切知道为什么会这样,但我可以做出有根据的猜测:如果你想查看一个队列,你可能会得到一个异常,或者你可能会得到一个值,但是代码只会继续前进 - 你无法阻止或超时。