借用 Java 并发编程实践中的话:编写正确的程序并不容易,而编写正常的并发程序就更难了。相比于顺序执行的情况,多线程的线程安全问题是微妙而且出乎意料的,因为在没有进行适当同步的情况下多线程中各个操作的顺序是不可预期的。
并发编程相比 Java 中其他知识点学习起来门槛相对较高,学习起来比较费劲,从而导致很多人望而却步;而无论是职场面试和高并发高流量的系统的实现却都还离不开并发编程,从而导致能够真正掌握并发编程的人才成为市场比较迫切需求的。
本 Chat 作为 Java 并发编程之美系列的高级篇之一,主要讲解内容如下:(建议先阅读Java 并发编程之美:基础篇 )
- ThreadLocal 的实现原理,ThreadLocal 作为变量的线程隔离方式,其内部是如何做的?
- InheritableThreadLocal 的实现原理,InheritableThreadLocal 是如何弥补 ThreadLocal 不支持继承的特性?
- JDK 并发包中 ThreadLocalRandom 类原理剖析,经常使用的随机数生成器 Random 类的原理是什么?及其局限性是什么?ThreadLocalRandom 是如何利用 ThreadLocal 的原理来解决 Random 的局限性?
-
最后 ThreadLocal 的一个使用场景,Spring 框架中 Scope 作用域 Bean 的实现原理。
121.jpg
网友评论