目录
一、ConcurrentLinkedQueue的理解
- 一、ConcurrentLinkedQueue的理解
- 二、ConcurrentLinkedQueue的类图
- 三、ConcurrentLinkedQueue类中常用的方法
- 四、ConcurrentLinkedQueue中常用方法的原理
- 五、单链表(Linked List)的详细理解
- ConcurrentLinkedQueue属于java.util.concurrent包;
- 要实现一个线程安全的队列有两种实现方式:一种是加锁,这种实现方式就是我们常说的阻塞队列;另一种是使用循环CAS算法实现,这种方式实现队列称之为非阻塞队列;而ConcurrentLinkedQueue就是一种非阻塞队列。
- ConcurrentLinkedQueue是基于链接节点的无界线程安全队列 。 这个队列排列元素FIFO(先进先出)
- 下图为jdk1.8API的解释:
- 由上图可知ConcurrentLinkedQueue实现了Queue接口,Queue继承Collection接口,Collection继承Iterable接口;
- 由上图可知ConcurrentLinkedQueue由head节点和tail节点组成。head头结点,负责出列, tail尾节点,负责入列。
- 由上图可知每个节点(Node)由节点元素(item)和指向下一个节点的引用(next)组成,节点与节点之间就是通过这个next关联起来,从而组成一张链表结构的队列。
1、构造方法
- public ConcurrentLinkedQueue() 创建一个 ConcurrentLinkedQueue为空的ConcurrentLinkedQueue。
- public ConcurrentLinkedQueue(Collection
关注打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?