译者序
并发编程是Java语言的重要特性之一,在Java平台上提供了许多基本的并发功能来辅助开发多线程应用程序。然而,这些相对底层的并发功能与上层应用程序的并发语义之间并不存在一种简单而直观的映射关系。因此,如何在Java并发应用程序中正确且高效地使用这些功能就成了Java开发人员的关注重点。
本书正是为了解决这个问题而写的。书中采用循序渐进的讲解方式,从并发编程的基本理论入手,逐步介绍了在设计Java并发程序时各种重要的设计原则、设计模式以及思维模式,同时辅以丰富的示例代码作为对照和补充,使得开发人员能够更快地领悟Java并发编程的要领,围绕着Java平台的基础并发功能快速地构建大规模的并发应用程序。
全书内容由浅入深,共分为四个部分。第一部分介绍了Java并发编程的基础理论,包括线程安全性与状态对象的基础知识,如何构造线程安全的类并将多个小型的线程安全类构建成更大型的线程安全类,以及Java平台库中的一些基础并发模块;第二部分介绍了并发应用程序的构造理论,包括应用程序中并行语义的分解及其与逻辑任务的映射,任务的取消与关闭等行为的实现,以及Java线程池中的一些高级功能,此外还介绍了如何提高GUI应用程序的响应性;第三部分介绍了并发编程的性能调优,包括如何避免活跃性问题,如何提高并发代码的性能和可伸缩性以获得理想的性能,以及在测试并发代码正确性和性能时的一些实用技术;第四部分介绍了Java并发编程中的一些高级主题,包括显式锁、原子变量、非阻塞算法以及如何开发自定义的同步工具类等。
本书的特点在于注重阐述并发技术背后的理论知识,对于每种技术的介绍不仅使读者能做到“知其然”,更能做到“知其所以然”。对于希望深入研究和探索Java并发编程的读者来说,本书是非常合适的。
参与本书翻译工作的还有李杨、吴汉平、徐光景、童胜汉、陈军、胡凯、刘红、张玮、陈红、李斌、李勇涛、王海涛、周云波、彭敏才、张世锋、朱介秋、宗敬、李静、叶锦、高波、熊莉、程凤、陈娟、胡世娟、董敏、谢路阳、冯卓、李志勇、胡欢、王进等。由于译者的时间和水平有限,翻译中的疏漏和错误在所难免,还望读者和同行不吝指正。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access