无锁非阻塞并发队列程 ConcurrentLinkedQueue/Deque
有两个无锁非阻塞队列:ConcurrentLinkedQueue和ConcurrentLinkedDeque,它们适用于多个线程并发使用一个队列的场合,都是基于链表实现的,都没有限制大小,是无界的
ConcurrentLinkedQueue实现了Queue接口,表示一个先进先出的队列,从尾部入队,从头部出队,内部是一个单向链表。
ConcurrentLinkedDeque实现了Deque接口,表示一个双端队列,在两端都可以入队和出队,内部是一个双向链表。
这两个类最基础的原理是循环CAS
参考: Java编程的逻辑 17.4.1 无锁非阻塞并发队列
Java并发编程的艺术 6.2 ConcurrentLinkedQueue
Java并发实现原理:JDK源码剖析 5.4 ConcurrentLinkedQueue/Deque