无锁非阻塞并发队列程 ConcurrentLinkedQueue/Deque

有两个无锁非阻塞队列:ConcurrentLinkedQueue和ConcurrentLinkedDeque,它们适用于多个线程并发使用一个队列的场合,都是基于链表实现的,都没有限制大小,是无界的

ConcurrentLinkedQueue实现了Queue接口,表示一个先进先出的队列,从尾部入队,从头部出队,内部是一个单向链表。

ConcurrentLinkedDeque实现了Deque接口,表示一个双端队列,在两端都可以入队和出队,内部是一个双向链表。

这两个类最基础的原理是循环CAS

 

参考: Java编程的逻辑 17.4.1 无锁非阻塞并发队列

  Java并发编程的艺术 6.2 ConcurrentLinkedQueue

  Java并发实现原理:JDK源码剖析 5.4 ConcurrentLinkedQueue/Deque

posted @   草木物语  阅读(202)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2019-01-27 ajax 跨域 springboot
2018-01-27 js,jquery 获取滚动条高度和位置, 元素距顶部距离
2018-01-27 java 向上转型与向下转型
2018-01-27 Java 判断相等
点击右上角即可分享
微信分享提示