标签: java multithreading blockingqueue
我在多线程环境中使用LinkedBlockingQueue,其中多个线程充当消费者。目前我使用queue.take()从队列中获取对象,这导致线程在队列变空时无限期地等待。为避免这种情况,我可以在指定的超时时使用queue.poll()方法,并满足以下条件: 1.除了调用poll(long timeout, TimeUnit unit)方法的当前线程外,所有其他线程在指定的超时期限内被阻止。
LinkedBlockingQueue
queue.take()
queue.poll()
poll(long timeout, TimeUnit unit)
如果没有,有什么办法可以实现这个目标吗?
任何线索都表示赞赏。提前谢谢。