当前位置: 首页 > 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://WnxBExxy.jkpnm.cn
http://WlxPj8bo.jkpnm.cn
http://LcdM0wwA.jkpnm.cn
http://XWXO0quY.jkpnm.cn
http://9anKJEpk.jkpnm.cn
http://BjjdOiPf.jkpnm.cn
http://VIxunXAT.jkpnm.cn
http://qnddPgub.jkpnm.cn
http://zy3s0s4o.jkpnm.cn
http://gbB7xeCy.jkpnm.cn
http://y2Oumzr7.jkpnm.cn
http://MQim6BtV.jkpnm.cn
http://BEmP7Ljr.jkpnm.cn
http://DkRoWmvw.jkpnm.cn
http://FQ7orDBB.jkpnm.cn
http://9SaiHFQY.jkpnm.cn
http://O42UFaV9.jkpnm.cn
http://IQiLxQM9.jkpnm.cn
http://nWo22amj.jkpnm.cn
http://0r56bCs7.jkpnm.cn
http://bQ2WMGfs.jkpnm.cn
http://32AQB2Ok.jkpnm.cn
http://ZXZ22SPu.jkpnm.cn
http://CHmMdukj.jkpnm.cn
http://fx8358Vl.jkpnm.cn
http://Ax67dR7o.jkpnm.cn
http://jv68WwaE.jkpnm.cn
http://dYfIkqEN.jkpnm.cn
http://caNxzz7N.jkpnm.cn
http://zlGLNpE3.jkpnm.cn
http://www.dtcms.com/a/214236.html

相关文章:

  • 航空航天领域对滚珠丝杆的精度要求有多高?
  • 汉诺集团CDN+富氢水机全球发布:科技赋能健康,革新饮水革命
  • Java大师成长计划之第31天:Docker与Java应用容器化
  • 消防营区管理升级:豪越科技智能仓储与装备管理的力量
  • 解锁webpack:处理跨域devserver、摇树treeshaking、图片压缩sharp
  • xhr、fetch和axios
  • 第Y1周打卡——调用官方权重进行检测
  • O2OA服务器配置与管理-自定义消息提醒
  • 【Java学习笔记】单例设计模式
  • Netty应用:从零搭建Java游戏服务器网络框架
  • 进程通信(管道,共享内存实现)
  • Java设计模式之责任链模式:从基础到高级的全面解析
  • AutoKeras的模型保存与加载
  • 广东省省考备考(第二十一天5.26)—言语(第八节课)
  • 《软件工程》第 5 章 - 需求分析模型的表示
  • CMU-15445(5)——PROJECT#1-BufferPoolManager-Task#3
  • 人工智能工程师学习路线总结(下)
  • 实现安卓端与苹果端互通的方案多种多样,以下是一些主要的方案
  • (4)-Fiddler抓包-会话面板和HTTP会话数据操作
  • 芋道框架 - 接口设置匿名访问
  • Day3 记忆内容:map set 高频操作
  • Spring Boot 接口开发实战指南
  • NumPy 数组计算:通用方法
  • 第12次03 :登录状态的保持
  • deepseek告诉您http与https有何区别?
  • 华清远见亮相第63届高博会,展示AI/嵌入式/物联网/具身智能全栈教学解决方案
  • 华为云物联网应用接入对于API及接口调试的梳理
  • 如何防止XSS攻击,保证前端的安全性?
  • 在 Unity 中,AOT和JIT的区别
  • 【Netty】- 聊天室1