(2)poll(long timeout, TimeUnit unit):从BlockingQueue取出一个队首的对象,如果在指定时间内,队列一旦有数据可取,则立即返回队列中的数据。否则知道时间 . It returns null if the queue is empty. Java BlockingQueue poll ()用法及代码示例. 本文主要介绍"使用BlockingQueue如何实现阻塞队列",希望能够解决您遇到有关问题,下面我们一起来看这篇 "使用BlockingQueue如何实现阻塞队列" 文章。. Let’s get started on Thread-Safe BlockingQueue implementation in Java Step-1. Guide to java.util.concurrent.BlockingQueue | Baeldung Java BlockingQueue take() vs poll() (2) El bloqueo es probablemente más eficiente. LinkedBlockingDeque. A BlockingDeque - threads can put and take from both ends of the deque. Blocking is likely more efficient. Creating unbounded queues is simple: BlockingQueue blockingQueue = new LinkedBlockingDeque <> (); The Capacity of blockingQueue will be set to Integer.MAX_VALUE. 问题When consuming values from a Queue in an infinite loop -- what would be more efficient: 1) Blocking on the Queue until a value is available via take() while (value = queue.take()) { doSomething(value); } 2) Sleeping for n milliseconds and checking if an item is available The add(E e) method of BlockingQueue interface inserts the element passed in the parameter to the end of the Queue is there is space. Both LinkedBlockingQueue and the ConcurrentLinkedQueue are queue implementations and share some common characteristics. Jeśli używasz take() z usługi i usługa ma połączenie db. BlockingQueue BlockingQueue All queuing methods are atomic in nature and use internal locks. 阻塞可能更有效。在后台,如果没有可用的元素,最初调用take()的线程就会进入睡眠状态,让其他线程做它们需要做的任何事情。将元素添加到队列的方法将在添加元素时唤醒等待的线程,因此只需花费最少的时间反复检查队列中是否有元素可用。 Was ist der richtige Weg, um die BlockingQueue.pollFunktion von Java in Groovy zu verwenden? Java BlockingQueue poll()用法及代码示例 - 纯净天空 BlockingQueue VS ConcurrentLinkedQueue.