前言
并发编程是Java语言的重要特性之一, 在Java平台上提供了许多基本的并发功能来辅助开发多线程应用程序。然而,这些相对底层的并发功能与上层应用程序的并发语义之间并不存在一种简单而直观的映射关系。因此,如何在Java并发应用程序中正确且高效地使用这些功能就成了Java开发人员的关注重点。
为了解决在Java底层机制与设计级策略之间的不匹配问题,我们给出了一组简化的并发程序编写规则。专家看到这些规则会说:“嗯,这并不是完整的规则集。即使类C违背了规则R,它仍然是线程安全的。” 虽然在违背- -些规则的情况下仍有可能编写出正确的并发程序,但这需要对Java内存模型的底层细节有着深入的理解,而我们希望开发人员无须掌握这些细节就能编写出正确的并发程序。只要始终遵循这组简单的规则,就能编写出正确的并且可维护的并发程序。
目录
本书共分为四个部分:基础知识,结构化并发应用程序,活跃性、性能与测试,高级主题。
需要这本书的小伙伴请在关注,点赞之后私信我免费获取!
第一部分,基础知识。(第2章~第5章)
重点介绍了并发性和线程安全性的基本概念,以及如何使用类库提供的基本并发构建块来构建线程安全类。在第一部分给出 了一个清单,其中总结了这一部分中介绍的最重要的规则。
第一章为简介,第2章与第3章构成了本书的基础。在这两章中给出了几乎所有用于避免并发危险、构造线程安全的类以及验证线程安全的规则。
第4章介绍了如何将--些小的线程安全类组合成更大的线程安全类。
第5章介绍了在平台库中提供的一些基础的并发构建模块,包括线程安全的容器类和同步工具类。
第二部分,结构化并发应用程序。(第6章~第9章)
介绍了如何利用线程来提高并发应用程序的吞吐量或响应性。
第6章介绍了如何识别可井行执行的任务,以及如何在任务执行框架中执行它们。
第7章介绍了如何使任务和线程在执行完正常工作之前提前结束。在健壮的并发应用程序与看似能正常工作的应用程序之间存在的重要差异之一就是,如何实现取消以及关闭等操作。
第8章介绍了任务执行框架中的一些更高级特性。
第9章介绍了如何提高单线程子系统的响应性。
第三部分,活跃性、性能与测试。(第10章~第12章)
介绍了如何确保井发程序执行预期的任务,以及如何获得理想的性能。
第10章介绍了如何避免一些使程序无法执行下去的活跃性故障。
第11章介绍了如何提高井发代码的性能和可伸缩性。
第12章介绍了在测试并发代码的正确性和性能时可以采用的一些技术。
第四部分,高级主题。(第13章~第16章)
介绍了资深开发人员可能感兴趣的一些主题,包括:显式锁、原子变量、非阻塞算法以及如何开发自定义的同步工具类。
这份文档308页,完整无缺页。有需要这份PDF文档学习的小伙伴麻烦在关注,点赞之后私信我免费获取!
标签:Java,如何,编程,应用程序,并发,线程,介绍
来源: https://blog.csdn.net/Toidu/article/details/106926017