LinkedBlockingQueue的queue.poll(long timeout,TimeUnit unit)方法本质上是阻塞吗?

时间:2017-08-01 11:34:54

标签: java multithreading blockingqueue

我在多线程环境中使用LinkedBlockingQueue,其中多个线程充当消费者。目前我使用queue.take()从队列中获取对象,这导致线程在队列变空时无限期地等待。为避免这种情况,我可以在指定的超时时使用queue.poll()方法,并满足以下条件: 1.除了调用poll(long timeout, TimeUnit unit)方法的当前线程外,所有其他线程在指定的超时期限内被阻止。

如果没有,有什么办法可以实现这个目标吗?

任何线索都表示赞赏。提前谢谢。

0 个答案:

没有答案