2021-06-13list map set 并发问题
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 并发问题相关推荐
- 【2021最新版】Python 并发编程实战,用多线程、多进程、多协程加速程序运行
[2021最新版]Python 并发编程实战,用多线程.多进程.多协程加速程序运行 视频地址:https://www.bilibili.com/video/BV1bK411A7tV/ P1 Pytho ...
- Go语言map的并发操作
先单独说一下map,在Go语言中,map与通道类似,都需要先用make函数进行初始化,之后才可以赋值,不过map没有长度的限制,所以在使用make函数初始化map时,make函数的第二个参数不用写,写 ...
- 2021.06.03邮票面值设计
2021.06.03邮票面值设计 题目描述 给定一个信封,最多只允许粘贴 N 张邮票,计算在给定 K(N+K≤15)种邮票的情况下(假定所有的邮票数量都足够),如何设计邮票的面值,能得到最大值 MAX ...
- Mculover666的博客文章导航(嵌入式宝藏站)(2021.06.17更新)
一.MCU系列 1. 开发环境 [Keil MDK](一)Keil MDK 5.28 的下载.安装.破解 [Keil MDK](二)Keil MDK中芯片器件包的安装 [Keil MDK](三)Kei ...
- 2021.06.06家庭财经系统制作(2)
show tables; 查看数据库里有什么表命令. 碰到mysql软件问题.比想象的难缠. 用之前的方式打不开黑框(鼠标单击 mysql5.7 ccommand line Client),黑框一闪而 ...
- 2021.06.02会解方程的计算器
2021.06.02会解方程的计算器 (题目来源:) 题目描述 为了很好的完成这个任务,ZL先生首先研究了一些一元一次方程的实例: 4+3x=8 6a-5+1=2-2a -5+12y=0 ZL先生被主 ...
- 【离散数学】 SEU - 28 - 2021/06/11 - Lattice and Boolean Algebra
Discrete Mathematical Structures (6th Edition) 2021/06/09 - Lattice and Boolean Algebra Lattice and ...
- 2021.06.03合并石子+能量项链
2021.06.03合并石子+能量项链 题目描述 在一个圆形操场的四周摆放 N 堆石子,现要将石子有次序地合并成一堆,规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分. ...
- 2021.06.02税收和补贴问题
2021.06.02税收和补贴问题 (题目来源:洛谷-P1023) 题目描述 每样商品的价格越低,其销量就会相应增大.现已知某种商品的成本及其在若干价位上的销量(产品不会低于成本销售),并假设相邻价位 ...
- Go的channel与map是否并发安全以及原因
channel安全:底层实现出队入队时也加锁了 map不安全:加互斥锁或者读写锁
最新文章
- 内存分配管理 自定义
- 解决“错误 D8016 “/ZI”和“/Gy-”命令行选项不兼容 ”问题
- Android的全屏活动?
- 深入理解ASCII,Unicode和UTF-8编码
- initramfs下启动linux_和菜鸟一起学linux之initramfs方式启动
- Nodejs进阶:使用DiffieHellman密钥交换算法
- [Linux基础环境/软件]Linux下安装resin web服务器(涉及gcc、jdk环境部署)
- 打印字符串(C语言,全排列)
- Java 9 新功能之 HTTP2 和 REPL
- MAC 安装 Magento2 community edition 详细步骤
- java 静态导入_Java中静态导入的使用
- c/c++ 内存对齐
- 基于php网络小说,五部小说点击破亿,盘点网络文学白金作家我吃西红柿!
- H5制作模板推荐:微信小游戏消消乐玩法亮点
- 求车牌号问题(C语言程序设计)
- python添加pip环境变量win7_windows环境下面配置pip环境变量
- 汉字识别原理、方法与实现
- Labview实现简单知乎日报客户端
- 8-25 26 veriloga语言
- Linux之scp命令的介绍以及命令行输入密码参数执行方法和常见问题解决
热门文章
- 统计Linux服务器连接数
- java调用opencv人脸识别 error insufficient out of memory
- SpringMVC+uploadify3.2.1版实现附件上传功能(直接可以使用)
- linux无法ping通localhost
- 背包之01背包、完全背包、多重背包详解
- CF1137E Train Car Selection(单调栈维护凸函数)
- querySelector() 选择器语法
- 安装虚拟环境和Flask
- bzoj千题计划254:bzoj2286: [Sdoi2011]消耗战
- 继承中的盲点,成员或者析构函数,成员函数中为什么有时候需要定义,有时候不需要呢,(已解决)...