本篇将会带着大家去全面剖析多线程编程的核心库、方法、原理,利用案例方式,透彻讲解高并发本质与应对方法!同时这份PDF全部以Demo式案例来讲解技术点的实现,使读者看到代码及 运行结果后就可以知道该项目要解决的是什么问题,类似于网络中博客的风格,让读者用最短的时间学习知识点,明白知识点如何应用,以及在使用时要避免什么,从而快速学习并解决问题!
这份PDF共计分为了九大部分,同时每部分相当于第二版来说都进行了重大的升级!下面咱们一部分一部分的来看和学习!
Java多线程技能
-
线程的启动;
-
如何使线程暂停;
-
如何使线程停止;
-
线程的优先级;
-
线程安全相关的问题。
对象及变量的并发访问
-
synchroni zed对象监视器为0b ject时的使用方法;
-
synchroni zed对象监视器为Class时的使用方法;
-
关键字volatile的主要作用;
-
关键字volatile与synchronized的区别及使用情况。
同步synchronized在字节码指令中的原理
线程间通信
-
如何使用wait/notify机制实现线程间的通信;
-
生产者/消费者模式的实现;
-
join方法的使用;
-
ThreadLocal类的使用。
锁的使用
-
ReentrantLock类的使用;
-
ReentrantReadWriteLock类的使用。
定时器
-
如何实现指定时间执行任务;
-
如何实现按照指定周期执行任务。
单例模式与多线程
本章的案例也充分说明,当线程与某些技术相结合时,我们要考虑的事情会更多。在学习本章的过程中,我们只需要考虑一件事情,那就是:如何使单例模式与多线程结合时是安全、正确的。
使用enum枚举数据类型实现单例模式
拾遗增补
-
线程组的使用;
-
线程状态是如何切换的;
-
SimpleDataFormat类与多线程的解决办法;
-
如何对异常线程进行处理。
并发集合框架
线程池类ThreadPoolExecutor的使用
验证newCachedThreadPool()方法创建线程池和线程复用特性
由于篇幅限制,无法全部展示出来,文中资料已整理打包存放网盘,有需要完整版PDF的朋友可以点击下方的名片自取!