一、为什么要写本书   1965年,戈登·摩尔发现了一个惊人的集成电路发展趋势:当价格不变时,集成电路上可容纳的元器件的数目,每18~24个月会增加一倍,性能也将提升一倍。如果这个趋势继续,计算能力相对于时间周期将呈指数式的上升,这被称为摩尔定律。   50多年过去了,摩尔定律目前仍然没有被打破,但是马上就要面临巨大的物理瓶颈。现在的最好的芯片技术是台积电的5nm工艺,下一个目标是3nm,而硅原子在1nm空间只能排列三四个。这对于依赖硅为半导体材料的芯片产业而言,如果没有新的半导体材料出现,其很快就将面临物理极限挑战。   多核处理器技术是硬件发展的另一大趋势。通过使用CPU多核架构,可以有效缓解单个芯片运算能力不足带来的尴尬。现在几乎所有的笔记本计算机、台式计算机,还有服务器等普遍使用了多核处理器。多核CPU的普及要求系统软件和应用软件架构必须要与时俱进。因此,掌握并发编程技术,开发出适用于多核处理器的并发程序,充分利用CPU的并发处理优势,是对所有高级软件开发人员的硬性要求。   目前,Java平台在服务器端的后台编程中占据着无法动摇的统治地位,如典型的Web服务器就是一个允许几十万人同时访问的高并发环境。因此Java的高并发编程是每一个Java编程人员必须要掌握的核心知识。   高并发处理不仅在Web服务器上,在应用服务器、数据库服务器、大数据服务器等服务器上,同样都是高并发环境,当然在不同服务器上的软件架构是完全不同的。   多线程的并发编程从来都不是一件容易的事情,即使对高级软件架构人员也是如此。Java平台关于多线程部分的API,历经多次频繁地调整,始终无法稳定下来,死锁和CPU利用率不高一直困扰着这些高级架构师。直到2004年,大神级的Doug Lea横空出世,在JDK5中推出了java.util.concurrent 开发包,这才使Java彻底稳住了阵脚。   Java多线程基础库稳定后,服务器并发编程技术发展迅速,目前基于Java EE 8规范的服务器性能更加优秀。本书中包含的所有案例均基于JDK1.8 版本并已调试成功。 二、内容特色   与同类书籍相比,本书有如下特色。   1. 案例生动易懂,读者入门容易   国外关于多线程编程的经典图书,大多晦涩难懂,让人看后感觉云山雾罩、一头雾水;国内多线程相关书籍又过于浅显。因此,市场上没有一本让多数读者感觉满意的多线程图书,尤其是高校本科生和研究生,想选择一本多线程教材是非常困难的。本书中的大量案例,都贴合实际生活,生动鲜活,容易记忆,容易理解,读者可以轻松上手。   2. 原理透彻,注重应用   本书对多线程相关理论分门别类、层层递进地进行了详细的叙述和透彻的分析,既体现了各知识点之间的联系,又兼顾了其渐近性。本书在介绍每个知识点时都给出了该知识点的应用场景,同时配合源代码分析;本书真正体现了理论联系实际的理念,使读者能够体会到“学以致用”的乐趣。   3. 配套资源,超值服务   本书提供以下相关配套资源: * 书中涉及的程序代码、习题答案,可以关注“人工智能科学与技术”微信公众号,在“知识”→“资源下载”→“配书资源”菜单获取下载链接(也可以到清华大学出版社网站本书页面下载)。 * 本书有完整的配套视频,可以到CSDN、51CTO、腾讯课堂等网站观看,最简单的入口就是在百度直接搜索:肖海鹏,即可找到各网站的视频入口。在配套资源中也有视频观看链接(注:配套视频请读者自行购买观看)。 三、结构安排   本书第1~3章为多线程基础知识,第4~8章为线程池技术,第9章和第10章为多线程技术应用。 四、读者对象 * 电子信息工程、计算机科学与技术相关专业的本科生、研究生; * 所有Java软件开发人员。 五、致谢   限于编者的水平和经验,加之时间比较仓促,疏漏之处在所难免,敬请读者批评指正,有兴趣的朋友可发送邮件至workemail6@163.com。      编者   2021年3月于北京 II III