本教程 *** 作环境:windows7系统、java10版,DELL G3电脑。
1.使用事项
(1)ConcurrentlinkedQueue的迭代器是弱一致性的,这在并发容器中是比较普遍的现象,主要是指在一个线程在遍历队列结点而另一个线程尝试对某个队列结点进行修改的话不会抛出ConcurrentModificationException,这也就造成在遍历某个尚未被修改的结点时,在next方法返回时可以看到该结点的修改,但在遍历后再对该结点修改时就看不到这种变化。
(2)使用了这个ConcurrentlinkedQueue 类之后,如果直接使用它提供的函数,比如:queue.add(obj); 或者 queue.poll(obj);,这样不需要做任何同步。
2.ConcurrentlinkedQueue用法图解
3.peek()方法
获取但不移除此队列的头;如果此队列为空,则返回 null
public static void main(String[] args) { ConcurrentlinkedQueue queue = new ConcurrentlinkedQueue(); queue.offer("哈哈哈"); System.out.println("offer后,队列是否空?" + queue.isEmpty()); System.out.println("从队列中peek:" + queue.peek()); System.out.println("从队列中peek:" + queue.peek()); System.out.println("从队列中peek:" + queue.peek()); System.out.println("pool后,队列是否空?" + queue.isEmpty()); }
以上就是java中ConcurrentlinkedQueue的用法整理,这里我们只对peek()出队的方法做了详细介绍,如果还想了解更多ConcurrentlinkedQueue使用,可以根据需要按照上方的图解去寻找对应的方法资料。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)