`

CLQ小结

 
阅读更多
     好久没写文章,小结ConcurrentLinkedQueue做个临时记录,它虽然强大但也有它的问题,网上介绍集合中cas操作的文章很多,这里只写一下个人理解

(1)size方法很慢(与ConcurrentHashMap相似)

(2)remove方法很慢(与大部分Queue相似)

(3)如果remove最后一个节点中的元素,remove后节点不会删除

(4)同理当新增完一个元素之后马上删除,这个节点依然存在,所以要尽量避免这种情况的出现:
offer(a)、remove(a) ;offer(b)、remove(b)

(5)使用迭代器中的删除方法也不会移除节点

(6)迭代器的遍历过程中会移除空节点

(7)poll、peek、contains、size、toArray等方法也会移除空节点,但只移除从第一个空节点到第一个有元素节点之间的空节点

通过cas实现无锁队列有他的代价,个人建议使用ConcurrentLinkedQueue慎用remove方法,不但慢而且内存处理这块与其他Queue并不一样,稍有不慎会有大量废弃节点存在,造成某些时刻的内存泄露,最合适它的场景是只有offer与poll的存在,类似命令模式、task的执行
分享到:
评论

相关推荐

    SJT--11374-2007CLQ 软件质量 第一部分

    根据给定的信息,“SJT--11374-2007CLQ 软件质量 第一部分”是一项国家标准,旨在为软件质量的设计提供指导和规范。此标准对于那些需要编写软件质量设计方案的专业人员来说是非常重要的参考资料。下面将详细阐述这一...

    CLQ - Command Line Quaternions-开源

    **CLQ - 命令行四元数库** CLQ 是一个专为生成动画软件四元数数据的开源命令行工具。四元数是一种数学概念,广泛应用于计算机图形学和物理学,特别是在3D旋转和平移操作中。它们提供了一种有效的方式来表示和操作三...

    CLQ-5升压涡轮冷却器故障分析及改进措施 (2011年)

    在2006年的一次检查中,发现部分飞机座舱温度偏高,经过检查确认是CLQ-5升压式涡轮组件出现了故障。此次故障影响了部队的战备训练和任务执行,因此必须彻底解决。 故障分析揭示了造成故障的原因。从分解的故障产品...

    程序员面试金典 第五版

    《程序员面试金典 第五版》是一本深受程序员和求职者欢迎的书籍,它全面覆盖了面试准备过程中可能遇到的各种技术和非技术问题。这本书旨在帮助程序员提升自身的技能,顺利通过面试,迈向职业生涯的新阶段。...

    海尔智能电视刷机数据 LQ55AL88M52 机编DH1WX0A0003 务必确认机编一致 强制刷机 整机USB升级主程序

    务必确认机身编号与文件名机编一致,如不一致,请勿下载 机身编号一般在机子背面的贴纸上 968、962、966机芯升级方法: 一、本地升级方法: 1、压缩包解压,将OTA的zip文件和recovery.img文件复制到U盘根目录下,...

    使用Jacob输出word文档

    NULL 博文链接:https://clq9761.iteye.com/blog/1284318

    Hafuman.zip

    2. **Huffman_CLQ.m**:这个文件很可能是一个用于计算字符频率并构建哈弗曼树的函数。CLQ可能代表“字符频率队列”,在这里可能是用来存储和操作字符及其频率的结构。 3. **hafuman.m**:这可能是主函数,它调用了...

    主治医师 (疾病控制)-医学免疫(B型题).doc

    2. **再次体液免疫应答的场所**:当人体遇到相同抗原第二次时,主要在体内的外周免疫器官(选项A)如脾脏和淋巴结中发生再次免疫反应。这些器官含有大量的淋巴细胞,能够迅速识别和应对再次出现的抗原。 3. **成熟...

    断点续传下载

    这个程序的目的是:flashget在下载象51.net系列[如我的clq.51.net]中的程序时,会因为这些网站上的 自定义错误页面而导致下载的文件出错,具体见“大富翁”上的 ...

    飞思卡尔 Kinetis ARM K10 K20 K40 K60全系列原理图库+PCB封装库(AD集成库).zip

    MK53X256CLQ100 Kinetis 32-Bit ARM Cortex-M4 Core, K50, 256KB Program Flash Memory, 128KB RAM, 4KB FlexRAM, 144-Pin LQFP MK60N256VLL100 Kinetis 32-Bit ARM Cortex-M4 Core, K60, 256KB Program Flash ...

    在电子质子对撞机上通过六维四费米子算子进行的顶级FCNC相互作用

    我们的分析表明,像LHeC这样的未来电子质子对撞机可以探测顶级FCNC六维子费米算子的竞争极限,例如Clq(1)ee31 <0.0647,Cluee31 <0.109,Clequ(1)ee31 <0.217和Clequ (3)在华沙计算的ee31 <0....

    matlab开发-单无向折线图中的计数周期

    3. **测试文件**:`test_clqFile.clq`可能是一个测试用例,包含了某个特定的循环限制。通过测试文件,我们可以验证程序是否正确找到并计数了所有满足条件的循环。 4. **邻接矩阵与边列表**:在图论中,邻接矩阵和边...

    vmware workstation 9 keygen 注册机

    懒得下的直接用号 5Z45X-8RHEP-GZ7Y8-VH1N4-AAW1P JU628-8J0D7-PZ2L1-NA2N4-CAXPP 4G6GQ-FU05J-AZP40-ZLA5H-32CLQ NZ0E0-2D300-VZ1Y8-JCAN0-9ARQL MA48T-2DHEJ-8Z8M8-Q2176-2AG7N

    IgA肾病患者甘露糖结合蛋白基因多态性的功能研究 (2001年)

    按照MBP基因型分别选取58例IgAN患者,其中30例为单纯IgA伴C3沉积(A组),28例为IgA,IgG,IgM伴C3,Clq沉积(AGM组);另选取32名健康成人作为正常对照组。用PCR-RFLP方法对所有个体MBP基因型进行分析,同时从各个体获得外周...

    工程概况.docx

    - 外墙和屋面瞬变传热引起的冷负荷:`CLQ = F × K × △tW` - 内围护结构冷负荷:`Cin = Fi × Ki × (tw - t1)` - 其他相关参数如传热系数、温差等需根据实际情况调整。 #### 6. 方案选择依据 - **最终选择...

    IEEE 802.11多无线电多信道无线网状网络的有效联合信道分配和QoS路由协议

    通过CLQ-OLSR协议的设计与实现,有效解决了现有技术中不能兼顾信道分配与QoS要求的问题,提出了一种结合多无线电和多信道优势的新型QoS路由协议,为实时多媒体通信提供了良好的支持,并通过模拟实验验证了该协议的...

    A5 机械表.doc

    - **挖掘机**:包括卡特320C、PC220-6和PC200-6型号,用于挖掘土壤和石块,功率和容量各不相同,品牌有美国卡特和山推小松。 - **推土机**:如CATD9N、TY-220和TY320C,用于平整土地,由美国卡特、济南山推制造。 ...

    cDNA芯片技术筛选斑马鱼皮肤免疫相关差异表达基因.pdf

    这些基因被进一步归类为13个主要的生物功能和代谢通路,其中包括与免疫应答相关的重要基因,如鱼类主要组织相容性复合体(MHC)I类基因区的基因(UEA,UFA)、补体(Clq,C7等)、凝集素(HBL3,LGALSIL3)、应急...

Global site tag (gtag.js) - Google Analytics