📅  最后修改于: 2023-12-03 15:16:24.034000             🧑  作者: Mango
在Java中,LinkedTransferQueue是一个基于连结节点的、无界阻塞 TransferQueue。它支持FIFO的队列操作,并且提供了更灵活的阻塞方法,与BlockingQueue的put和take方法不同,LinkedTransferQueue通过transfer方法实现阻塞。LinkedTransferQueue类还提供了一些其他方法,包括poll()方法。
LinkedTransferQueue.poll()方法,是用来从LinkedTransferQueue的头部获取元素。如果队列为空,则返回null。
public E poll()
该方法没有参数,返回值为元素E。
以下是使用LinkedTransferQueue.poll()方法的示例:
import java.util.concurrent.LinkedTransferQueue;
public class LinkedTransferQueueExample {
public static void main(String[] args) {
LinkedTransferQueue<String> queue = new LinkedTransferQueue<>();
// 添加元素到队列
queue.add("foo");
queue.add("bar");
// 从队列头部获取元素并输出
System.out.println(queue.poll()); // foo
System.out.println(queue.poll()); // bar
// 尝试从空队列头部获取元素并输出
System.out.println(queue.poll()); // null
}
}
在该示例中,我们首先创建了一个LinkedTransferQueue对象并向队列添加了两个元素。然后使用poll()方法从队列头部依次获取元素,并输出。最后,我们尝试从空队列的头部获取元素,返回null。
LinkedTransferQueue是Java中一个基于连结节点的、无界阻塞TransferQueue。LinkedTransferQueue.poll()方法,用于从队列头部获取元素,如果队列为空,则返回null。在实际应用中,LinkedTransferQueue和其余的阻塞队列类一样,可以用来实现生产者-消费者模型等场景。