当前位置:网站首页>多线程学习笔记-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. 并发队列(阻塞和非阻塞)
边栏推荐
猜你喜欢
Cesium快速上手0-Cesium安装与基本介绍
Analysis of the gourd baby
九联_UNT400G_S905L2_(联通)_线刷固件包
历史上的今天:微软研究院的创始人诞生;陌陌正式上线;苹果发布 Newton OS
Analysis of Http-Sumggling Cache Vulnerability
15 days to upgrade to fight monsters and become a virtual fashion creator
电气成套设备行业如何借助ERP系统,解决企业管理难题?
服装店如何利用好积分?
麒麟信安石勇博士荣获openEuler社区年度开源贡献之星
“敏捷欺骗了开发人员”
随机推荐
JVM内存和垃圾回收-08.方法区
HCIP笔记(7)
工龄10年的测试员从大厂“裸辞”后...
跨链桥已成行业最大安全隐患 为什么和怎么办
redis
转型阵痛期,好未来减亏容易增收难?
九联_UNT400G_S905L2_(联通)_线刷固件包
18数藏解析
湖北电信天邑TY1608_S905L3B_MT7668_卡刷固件包
机器学习(十一):KNN(K近邻)
麒麟信安石勇博士荣获openEuler社区年度开源贡献之星
《分布式云最佳实践》分论坛,8月11日深圳见
智慧场馆的无人值守怎么做?
适配器模式
泰坦尼克号沉船数据之美——起于悲剧,止于浪漫
码蹄集 - MT3029 - 新月轩就餐
leetcode:743. 网络延迟时间【单源最短路 + dijkstra模板】
B站回应HR称核心用户是Loser;微博回应宕机原因;Go 1.19 正式发布|极客头条
【JVM】JVM调优
Minecraft 服务器安装Forge 并添加Mod