public class ListTest {public static void main(String[] args) {//并发下List是不安全的//List<String> list = new ArrayList<>();  没有锁不安全//List<String> list = new Vector<>(); 第一种解决方案//List<String> list = Collections.synchronizedList(new ArrayList<>());第二种解决方案List<String> list = new CopyOnWriteArrayList<>();//CopyOnWriteArrayList 写入时服饰 COW 计算机程序设计领域的一种优化策略//写入时避免覆盖,造成数据问题//CopyOnWrite --- Vector 用synchronized 效率低下for (int i = 1; i <= 10; i++) {new Thread(()->{list.add(UUID.randomUUID().toString().substring(0,5));System.out.println(list);},String.valueOf(i)).start();}}
}
public class SetTest1 {public static void main(String[] args) {Set<String> set = new CopyOnWriteArraySet<>();//Hashet的底层是Hashmapfor (int i = 1; i<= 10; i++) {new Thread(()->{set.add(UUID.randomUUID().toString().substring(0,5));System.out.println(set);},String.valueOf(i)).start();}}}
public class MapTest002 {public static void main(String[] args) {//map 加载因子,初始化容量 工作中不用Hashmap  new HashMap<>(16,0.75)Map<String,String> map = new ConcurrentHashMap<>();for (int i = 1; i<= 10; i++) {new Thread(()->{map.put(Thread.currentThread().getName(),UUID.randomUUID().toString().substring(0,5));System.out.println(map);},String.valueOf(i)).start();}}
}

2021-06-13list map set 并发问题相关推荐

  1. 【2021最新版】Python 并发编程实战,用多线程、多进程、多协程加速程序运行

    [2021最新版]Python 并发编程实战,用多线程.多进程.多协程加速程序运行 视频地址:https://www.bilibili.com/video/BV1bK411A7tV/ P1 Pytho ...

  2. Go语言map的并发操作

    先单独说一下map,在Go语言中,map与通道类似,都需要先用make函数进行初始化,之后才可以赋值,不过map没有长度的限制,所以在使用make函数初始化map时,make函数的第二个参数不用写,写 ...

  3. 2021.06.03邮票面值设计

    2021.06.03邮票面值设计 题目描述 给定一个信封,最多只允许粘贴 N 张邮票,计算在给定 K(N+K≤15)种邮票的情况下(假定所有的邮票数量都足够),如何设计邮票的面值,能得到最大值 MAX ...

  4. Mculover666的博客文章导航(嵌入式宝藏站)(2021.06.17更新)

    一.MCU系列 1. 开发环境 [Keil MDK](一)Keil MDK 5.28 的下载.安装.破解 [Keil MDK](二)Keil MDK中芯片器件包的安装 [Keil MDK](三)Kei ...

  5. 2021.06.06家庭财经系统制作(2)

    show tables; 查看数据库里有什么表命令. 碰到mysql软件问题.比想象的难缠. 用之前的方式打不开黑框(鼠标单击 mysql5.7 ccommand line Client),黑框一闪而 ...

  6. 2021.06.02会解方程的计算器

    2021.06.02会解方程的计算器 (题目来源:) 题目描述 为了很好的完成这个任务,ZL先生首先研究了一些一元一次方程的实例: 4+3x=8 6a-5+1=2-2a -5+12y=0 ZL先生被主 ...

  7. 【离散数学】 SEU - 28 - 2021/06/11 - Lattice and Boolean Algebra

    Discrete Mathematical Structures (6th Edition) 2021/06/09 - Lattice and Boolean Algebra Lattice and ...

  8. 2021.06.03合并石子+能量项链

    2021.06.03合并石子+能量项链 题目描述 在一个圆形操场的四周摆放 N 堆石子,现要将石子有次序地合并成一堆,规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分. ...

  9. 2021.06.02税收和补贴问题

    2021.06.02税收和补贴问题 (题目来源:洛谷-P1023) 题目描述 每样商品的价格越低,其销量就会相应增大.现已知某种商品的成本及其在若干价位上的销量(产品不会低于成本销售),并假设相邻价位 ...

  10. Go的channel与map是否并发安全以及原因

    channel安全:底层实现出队入队时也加锁了 map不安全:加互斥锁或者读写锁

最新文章

  1. 内存分配管理 自定义
  2. 解决“错误 D8016 “/ZI”和“/Gy-”命令行选项不兼容 ”问题
  3. Android的全屏活动?
  4. 深入理解ASCII,Unicode和UTF-8编码
  5. initramfs下启动linux_和菜鸟一起学linux之initramfs方式启动
  6. Nodejs进阶:使用DiffieHellman密钥交换算法
  7. [Linux基础环境/软件]Linux下安装resin web服务器(涉及gcc、jdk环境部署)
  8. 打印字符串(C语言,全排列)
  9. Java 9 新功能之 HTTP2 和 REPL
  10. MAC 安装 Magento2 community edition 详细步骤
  11. java 静态导入_Java中静态导入的使用
  12. c/c++ 内存对齐
  13. 基于php网络小说,五部小说点击破亿,盘点网络文学白金作家我吃西红柿!
  14. H5制作模板推荐:微信小游戏消消乐玩法亮点
  15. 求车牌号问题(C语言程序设计)
  16. python添加pip环境变量win7_windows环境下面配置pip环境变量
  17. 汉字识别原理、方法与实现
  18. Labview实现简单知乎日报客户端
  19. 8-25 26 veriloga语言
  20. Linux之scp命令的介绍以及命令行输入密码参数执行方法和常见问题解决

热门文章

  1. 统计Linux服务器连接数
  2. java调用opencv人脸识别 error insufficient out of memory
  3. SpringMVC+uploadify3.2.1版实现附件上传功能(直接可以使用)
  4. linux无法ping通localhost
  5. 背包之01背包、完全背包、多重背包详解
  6. CF1137E Train Car Selection(单调栈维护凸函数)
  7. querySelector() 选择器语法
  8. 安装虚拟环境和Flask
  9. bzoj千题计划254:bzoj2286: [Sdoi2011]消耗战
  10. 继承中的盲点,成员或者析构函数,成员函数中为什么有时候需要定义,有时候不需要呢,(已解决)...