当前位置: 首页 > news >正文

java中的线程安全的集合

1.ConcurrentHashMap。

key,value结构。 jdk1.7通过分段锁保证不同段同时操作是线程安全的,但并发不足,jdk1.8通过node节点锁和CAS保证并发安全。不同node节点可以并发读写。通过它的computer,computerIfAbsent,等可以保证原子更新value。ifAbsent表示有当前key才会更新,没有则不会写入。

2.CopyOnWriterArrayList。

数组结构,读时无锁,写时通过复制原数组,在新数组上写数据,写结束后替换原数组。线程安全,适合读多写少的场景,如维护监听器列表可避免遍历时加锁。

3.BlockingQueue接口实现类。

包括ArrayBlockingQueue,LinkedBlockingQueue,线程安全,通过put方法写入,队列满时,阻塞。通过take方法获取元素,队列为空时阻塞。适用于生产者-消费者模型

 4.ConcurrentLinkedQueue

 非阻塞线程安全队列,基于CAS实现。

适用场景:高并发环境下的任务队列。通过offer添加,poll取出

5.Collections.synchronizedXXX()(传统方式)

通过工具类包装非线程安全集合

缺点:使用全局锁,性能较差。

http://www.xdnf.cn/news/663409.html

相关文章:

  • 如何用DeepSeek修改论文,防止AI幻觉?
  • 题目 3331: 蓝桥杯2025年第十六届省赛真题-LQ 图形
  • 【Axure结合Echarts绘制图表】
  • 华为OD机试_2025 B卷_返回矩阵中非1的元素个数(Python,100分)(附详细解题思路)
  • Python应用“面向对象”小练习
  • 【深度学习】4. 参数初始化详解与数学推导: Xavier, He
  • 敦普水性双组份聚氨酯面漆检验报告(SGS、重金属含量、低voc)
  • 电路中常见器件及作用(电阻 电容 电感)
  • 如何通过PHPMyadmin对MYSQL数据库进行管理?
  • IP离线库与网站集成
  • 如何在 Windows 10 PC 上获取 iPhone短信
  • MS1205N激光测距用高精度时间测量(TDC)电路
  • 火山引擎云服务器带宽支持
  • 楼宇自控成智能建筑核心技术,提升节能效率,构筑绿色发展新优势
  • 多查询检索在RAG中的应用及为什么平均嵌入向量效果好
  • C/C++内存泄漏深度解析与系统化解决方案
  • 工业级应用:Halcon灰度直方图核心技术全解
  • 数据的获取与读取篇---常见的数据格式CSV
  • uv使用教程
  • Agilent安捷伦Cary3500 UV vis光谱仪Cary60分光光度计Cary1003004000500060007000 UV visible
  • 【STM32开发板】电源设计原理
  • Typescript学习教程,从入门到精通,TypeScript 名称空间与模块语法知识点及案例(14)
  • 前缀和实现题目:区域和检索 - 数组不可变
  • 第2章(新)Day2 - Python基础入门
  • 【图论 并集查找】P3671 [USACO17OPEN] Where‘s Bessie? S|普及+
  • python打卡训练营打卡记录day37
  • 自驾总结Module(综述)
  • CN 第二章 应用层-判断题
  • uniapp-商城-70-shop(3-商品列表,点击规格,进行属性选择)
  • AI巡检系统适合多大面积的餐厅?