前言
很多年以前的时候,技术面试的时候面试官经常会问“程序什么时候需要开启新的线程”这样的问题,那个时候多核 CPU 才刚开始普及,很多人也是才开始逐渐接触多线程技术。而如今多核 CPU 和多线程编程技术已经是下里巴人的技术了。
由于各种库和运行环境对操作系统多线程接口的封装,很多技术开发者做了很多年的开发,仍然只是个界面或者仅知道调用库的“业务”程序员,他们只能面向搜索引擎编程,遇到稍微复杂一点的多线程逻辑就不知如何下手了。
本文将从操作系统原理的角度介绍多线程技术的方方面面,从基础的知识到高级进阶,它们是笔者这些年工作的经验总结和踩坑之后的教训。
总目录
第1章Java线程的实践及原理揭秘
第2章深度揭秘synchronized实现原理
第3章volatile为什么能解决可见性和有序性问题
第4章深入浅出分析J.U.C中的重入锁和读写锁
第5章从线程通信来窥探并发中的条件等待机制
第6章J.U.C并发工具集实战及原理分析
第7章深度探索并发编程不得不知的工具
第8章深度剖析阻塞队列的设计原理及实现
第9章深度解读并发安全集合的原理及源码
第10章站在架构的角度思考线程池的设计及原理
第11章Java并发编程中的异步编程特性