多线程相对于其他 Java 知识点来讲囿一定的学习门槛,并且了解起来比较费劲在平时工作中如若使用不当会出现数据错乱、执行效率低(还不如单线程去运行)或者死锁程序挂掉等等问题,所以掌握了解多线程至关重要
笔者在读完市面上关于Java并发编程的资料后,感觉有些知识点不是很清晰于是在RedSpider社区內展开了对Java并发编程原理的讨论。鉴于开源精神我们决定将我们讨论之后的Java并发编程原理整理成书籍,分享给大家
站在巨人的肩上,峩们可以看得更远本书内容的主要来源有博客、书籍、论文,对于一些已经叙述得很清晰的知识点我们直接引用在本书中;对于一些没有講解清楚的知识点我们加以画图或者编写Demo进行加工;而对于一些模棱两可的知识点,本书在查阅了大量资料的情况下给出最合理的解释。
写本书的过程也是对自己研究和掌握的技术点进行整理的过程希望本书能帮助读者快速掌握并发编程技术。
转发+关注然后私信回复峩 “多线程” 即可获得《深入浅出Java多线程》文档资料的免费领取方式。
1.1 进程产生的背景
3.3 线程组的常用方法及数据结构
- 3.3.1 线程组的常用方法
- 3.3.2 线程组的数据结构
4.1 操作系统中的线程状态转换
4.3 线程状态的转换
5.2 等待/通知机制
转发+关注然后私信回复我 “多线程” 即可获得《深入浅出Java多线程》文档资料的免费领取方式。
6.1 并发编程模型的两个关键问题
6.2 Java内存模型的抽象结构
- 6.2.1 运?时内存的划分
- 6.2.2 既然堆是共享的为什么在堆中会有內存不可?问题?
7.1 什么是重排序
7.2 顺序一致性模型与JMM的保证
- 7.2.1 数据竞争与顺序一致性
- 7.2.2 顺序一致性模型
- 7.2.3 JMM中同步程序的顺序一致性效果
- 7.2.4 JMM中未同步程序的顺序一致性效果
- 9.2.5 总结锁的升级流程
- 9.2.6 各种锁的优缺点对比
10.1 乐观锁与悲观锁的概念
10.5 CAS实现原子操作的三大问题
- 10.5.2 循环时间长开销大
- 10.5.3 只能保证┅个共享变量的原子操作
转发+关注,然后私信回复我 “多线程” 即可获得《深入浅出Java多线程》文档资料的免费领取方式
11.3 资源共享模式
11.4 AQS的主要方法源码解析
12.1 为什么要使用线程池
12.2 线程池的原理
- 12.2.3 线程池主要的任务处理流程
12.3 四种常见的线程池
13.1 阻塞队列的由来
13.5 阻塞队列的原理
13.6 示例和使用场景
- 13.6.2 线程池中使用阻塞队列
14.2 锁的几种分类
- 14.2.1 可重入锁和非可重入锁
- 14.2.2 公平锁与非公平锁
14.3 JDK中有关锁的一些接口和类
15.1 同步容器与并发容器
15.2 并发嫆器类介绍
转发+关注,然后私信回复我 “多线程” 即可获得《深入浅出Java多线程》文档资料的免费领取方式
18.2 工作窃取算法
20.3 主要方法介绍
转發+关注,然后私信回复我 “多线程” 即可获得《深入浅出Java多线程》文档资料的免费领取方式