conCurrentLinkedQueue
来源:互联网 发布:淘宝安全中心网页 编辑:程序博客网 时间:2024/05/11 19:54
- 第一步添加元素1。队列更新head节点的next节点为元素1节点。又因为tail节点默认情况下等于head节点,所以它们的next节点都指向元素1节点。
- 第二步添加元素2。队列首先设置元素1节点的next节点为元素2节点,然后更新tail节点指向元素2节点。
- 第三步添加元素3,设置tail节点的next节点为元素3节点。
- 第四步添加元素4,设置元素3的next节点为元素4节点,然后将tail节点指向元素4节点。
出队列的就是从队列里返回一个节点元素,并清空该节点对元素的引用。让我们通过每个节点出队的快照来观察下head节点的变化。
从上图可知,并不是每次出队时都更新head节点,当head节点里有元素时,直接弹出head节点里的元素,而不会更新head节点。只有当head节点里没有元素时,出队操作才会更新head节点。这种做法也是通过hops变量来减少使用CAS更新head节点的消耗,从而提高出队效率。让我们再通过源码来深入分析下出队过程。
阅读全文
0 0
- ConcurrentLinkedQueue
- ConcurrentLinkedQueue
- ConcurrentLinkedQueue
- ConcurrentLinkedQueue
- ConcurrentLinkedQueue
- ConcurrentLinkedQueue
- ConcurrentLinkedQueue
- ConcurrentLinkedQueue
- ConcurrentLinkedQueue
- ConcurrentLinkedQueue
- conCurrentLinkedQueue
- ConcurrentLinkedQueue 详解
- ConcurrentLinkedQueue使用方法
- ConcurrentLinkedQueue使用方法
- ConcurrentLinkedQueue 使用
- ConcurrentLinkedQueue使用方法
- ConcurrentLinkedQueue Demo
- ConcurrentLinkedQueue使用方法
- Android屏幕常亮,其实很简单
- 在虚拟机(vmware)上安装CentOS
- java内存模型
- 实现类似spring的可配置的aop框架
- 利用spring监听ApplicationListener实现初始化业务数据
- conCurrentLinkedQueue
- 【洛谷 P2341】[HAOI2006]受欢迎的牛
- 2017双十一:同样的促销狂欢,不一样国美新味道
- 线程安全的对象生命期管理
- I Hate It HDU-1754
- JMS简介
- 新手自己搭建、开发网络直播平台历程——了解实现一个简单直播平台的结构
- 苹果官方Toast Demo关键代码,Swift实现
- 三层架构在SSM框架中应用的示意图