当前位置:网站首页>多线程学习笔记-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. 并发队列(阻塞和非阻塞)
边栏推荐
猜你喜欢
随机推荐
SAP 电商云 Spartacus UI SSR 里 engine 和 engine instance 的区别
闭包及闭包的使用
码蹄集 - MT3029 - 新月轩就餐
WEB 渗透之SSTI 模板注入
机器学习(十三):支持向量机(SVM)
越来越火的图数据库到底能做什么?
18数藏解析
AtCoder Beginner Contest 262 部分题解
18 Data Collection Analysis
测试零基础如何进入大厂?一场面试教会你(附面试题解析)
码蹄集 - MT2094 - 回文之时:第4组数据错误
leetcode 006. 排序数组中两个数字之和
Mobile BesTV_R3300-L_S905L_8189_wire brush firmware package
HCIP WPN 实验
越来越火的图数据库到底能做什么?
Taurus.MVC WebAPI 入门开发教程2:添加控制器输出Hello World。
Minecraft HMCL 使用认证服务器LittleSkin进行登录
并发编程原理学习-reentrantlock源码分析
SAP ABAP SteammPunk 蒸汽朋克的最新进展 - 嵌入式蒸汽朋克
HCIP笔记(8)