当前位置:网站首页>多线程学习笔记-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. 并发队列(阻塞和非阻塞)
边栏推荐
- Heilongjiang Mobile New Magic Hundred Box M411A_2+8_S905L3A_wire brush firmware package
- Mobile Hisense IP102H_905L3-B_wire brush firmware package
- 罗振宇折戟创业板/ B站回应HR称用户是Loser/ 腾讯罗技年内合推云游戏掌机...今日更多新鲜事在此...
- 测试开发必备技能-Jmeter二次开发
- 机器学习(十三):支持向量机(SVM)
- Unity Apple登录接入
- 如何提高员工积极性?
- Mobile magic box CM211-1_YS foundry _S905L3B_RTL8822C_wire brush firmware package
- 机器学习(十一):KNN(K近邻)
- 华为应用市场“图章链接”功能上线 让APP分发突破机型壁垒
猜你喜欢

葫芦娃解析

接口测试项目(非常值得练手)

8月5日,麒麟信安邀您相约鲲鹏开发者创享日·长沙站!

B站回应HR称核心用户是Loser;微博回应宕机原因;Go 1.19 正式发布|极客头条

Mobile zte ZXV10 B860AV2. 1 - A_S905L2_MT7668_ wire brush the firmware package

力拓信创生态,博睿数据多款产品获得东方通与达梦数据库产品兼容互认证明

Hubei Mobile HG680-LV_S905L3B_wire brush firmware package

会话劫持安全攻击

谷粒商城笔记

Visual Studio 2022创建项目没有CUDA模板的解决方法
随机推荐
历史上的今天:微软研究院的创始人诞生;陌陌正式上线;苹果发布 Newton OS
“敏捷欺骗了开发人员”
人造肉在中国还有未来吗?
转型阵痛期,好未来减亏容易增收难?
移动CM101s_MV100_EMMC_M8233_强刷后全分区线刷固件包
实践:二进制数据处理与封装
18数藏解析
域名哪家便宜?怎么买便宜域名?
LeetCode 0168. Excel表列名称
太一集团宣布全资收购火币旗下社交产品火信
全世界国家和地区国家顶级域名对照表
码蹄集 - MT3029 - 新月轩就餐
海报 | 夏季高温,危化品安全风险的注意事项必须get!
PAT 甲级 A1072 Gas Station
Mobile magic box CM201-1_CW_S905L2_MT7668_wire brush firmware package
麒麟信安石勇博士荣获openEuler社区年度开源贡献之星
AtCoder Beginner Contest 262 部分题解
机器学习(十八):随机搜索和XGBoost
花 30 美金请 AI 画家弄了个 logo,网友:画得非常好,下次别画了!
码蹄集 - MT2094 - 回文之时:第4组数据错误