当前位置:网站首页>多线程学习笔记-3.并发容器
多线程学习笔记-3.并发容器
2022-08-04 16:53:00 【天生我才~~】
文章目录
慕课网多线程教程
1. 并发容器概览


2. 集合类的历史
2.1 Vector和Hashtable
- Vector类似于线程安全的
ArrayList - Hashtable 类似于线程安全的
HashMap
/** * 描述: 演示Vector,主要是看Vector源码 */
public class VectorDemo {
public static void main(String[] args) {
Vector<String> vector = new Vector<>();
vector.add("test");
System.out.println(vector.get(0));
}
}

- 方法中一般都有
synchronized修饰,可以保证线程安全,但性能受影响
/** * 描述: TODO */
public class HashtableDemo {
public static void main(String[] args) {
Hashtable<String, String> hashtable = new Hashtable<>();
hashtable.put("学完以后跳槽涨薪幅度", "80%");
System.out.println(hashtable.get("学完以后跳槽涨薪幅度"));
}
}


2.2 ArrayList 和 HashMap

/** * 描述: 演示Collections.synchronizedList(new ArrayList<E>()) */
public class SynList {
public static void main(String[] args) {
List<Integer> list = Collections.synchronizedList(new ArrayList<Integer>());
list.add(5);
System.out.println(list.get(0));
Map<Object, Object> objectObjectMap = Collections.synchronizedMap(new HashMap<>());
}
}



- 在方法内的同步代码块上加锁
2.3 ConcurrentHashMap和CopyOnWriteArrayList

- 其中,
CopyOnWriteArrayList使用于读多写少的情况
3. ConcurrentHashMap
3.1 Map简介
4. CopyOnWriteArrayList
5. 并发队列(阻塞和非阻塞)
边栏推荐
- Hubei Mobile ZTE B860AV2.1_S905L_ flash firmware package
- SAP 电商云 Spartacus UI SSR 里 engine 和 engine instance 的区别
- 葫芦娃解析
- 面试官:多个线程执行完毕后,才执行另一个线程,该怎么做?
- 移动中兴ZXV10 B860AV2.1-A_S905L2_MT7668_线刷固件包
- 【IDEA】idea配置
- 机器学习入门到大神专栏总览
- 什么是会话劫持攻击以及如何防止会话劫持
- 花 30 美金请 AI 画家弄了个 logo,网友:画得非常好,下次别画了!
- Mobile BesTV_R3300-L_S905L_8189_wire brush firmware package
猜你喜欢
随机推荐
pygame的freetype模块
shell脚本详解 --------循环语句之for循环
广东湛江海关破获3起走私冻海产品案 查证案值约1亿元
博云入选Gartner中国云原生领域代表性厂商
基本的SELECT语句
不需要服务器,教你仅用30行代码搞定实时健康码识别
黑龙江移动新魔百盒M411A_2+8_S905L3A_线刷固件包
码蹄集 - MT2094 - 回文之时:第4组数据错误
LeetCode 0167. 两数之和 II - 输入有序数组
Minecraft HMCL 第三方启动器使用教程
leetcode:743. 网络延迟时间【单源最短路 + dijkstra模板】
湖北电信天邑TY1608_S905L3B_MT7668_卡刷固件包
北京海淀6家必胜客被暂停外卖订餐 存在食品安全问题
Steady Development | Data and Insights on Mobile Game Players in Western Europe
全球电子产品需求萎靡:三星越南工厂大幅压缩产能,减少工人工作日
Minecraft 服务器安装Forge 并添加Mod
Taurus.MVC WebAPI 入门开发教程2:添加控制器输出Hello World。
力拓信创生态,博睿数据多款产品获得东方通与达梦数据库产品兼容互认证明
九联_UNT400G_S905L2_(联通)_线刷固件包
SAP 电商云 Spartacus UI 页面布局的设计原理







