📅  最后修改于: 2023-12-03 15:01:52.231000             🧑  作者: Mango
ConcurrentLinkedQueue是Java并发包中提供的一个非阻塞队列,可以在多线程环境下安全地使用。poll()方法是ConcurrentLinkedQueue中的一个方法,它用于获取队列的头部元素并且删除这个元素。
poll()方法的语法如下:
public E poll()
其中E表示元素类型。poll()方法并不会阻塞,如果队列为空,则返回null。
下面是poll()方法的一个例子:
ConcurrentLinkedQueue<String> queue = new ConcurrentLinkedQueue<String>();
queue.offer("Java");
queue.offer("C");
queue.offer("Python");
System.out.println("the queue: " + queue);
String element = queue.poll();
System.out.println("the element: " + element);
System.out.println("the queue: " + queue);
运行结果如下:
the queue: [Java, C, Python]
the element: Java
the queue: [C, Python]
在这个例子中,我们创建了一个ConcurrentLinkedQueue,然后向队列中添加了三个元素:Java、C和Python。接着,我们调用了poll()方法,并将返回的元素赋值给了变量element。然后我们打印了这个元素以及队列的内容。由于poll()方法会删除队列的头部元素,所以队列的内容变为了[C, Python]。
poll()方法是ConcurrentLinkedQueue中的一个核心方法,可以用于获取队列的头部元素并且删除这个元素。它是线程安全的,可以在多线程环境下安全地使用。应用场景非常广泛,例如实现生产者消费者模式等。