当你使用计算机时,你可以同时做几件事。在文字处理器中编辑文档和阅读电子邮件时,您可以听到音乐。这是因为您的操作系统允许任务的并发性。并发编程是关于平台提供的元素和机制,它使多个任务或程序同时运行,并相互通信以交换数据或相互同步。Java 是一个并发平台,提供了许多类来执行 Java 程序中的并发任务。在每个版本中,Java 都增加了为程序员提供的功能,以促进并发程序的开发。本书介绍了 Java 并发 API 版本 7 中包含的最重要和最有用的机制,因此您可以在应用中直接使用它们,如下所示:
- 基本线程管理
- 线程同步机制
- 与执行者的线程创建和管理委派
- Fork/Join 框架可增强应用的性能
- 并发程序的数据结构
- 根据您的需要调整某些并发类的默认行为
- 测试 Java 并发应用
第一章线程管理将教读者如何使用线程进行基本操作。通过基本示例说明线程的创建、执行和状态管理。
第 2 章、基本线程同步将教读者使用底层 Java 机制同步代码。锁和synchronized
关键字将被详细解释。
第三章线程同步工具将教读者使用 Java 的高级工具来管理 Java 中线程之间的同步。它包括如何使用新的 Java7Phaser
类来同步分阶段的任务的说明。
第 4 章线程执行器将教导读者将线程管理委托给执行器。它们允许运行、管理和获得并发任务的结果。
第 5 章Fork/Join 框架将教读者如何使用新的 Java7 Fork/Join 框架。它是一种特殊的执行器,用于执行使用分治技术将任务划分为更小的任务。
第 6 章并发集合将教读者如何使用 Java 语言提供的一些并发数据结构。这些数据结构必须在并发程序中使用,以避免在其实现中使用同步的代码块。
第 7 章定制并发类将教读者如何根据自己的需要调整 Java 并发 API 中一些最有用的类。
第 8 章测试并发应用将教读者如何获取 Java 7 并发 API 中一些最有用结构的状态信息。读者还将学习如何使用一些免费工具调试并发应用,如 Eclipse、NetBeans IDE 或 FindBugs 应用,以检测其应用上可能存在的错误。
第 9 章、附加信息未出现在本书中,但可从以下链接免费下载:http://www.packtpub.com/sites/default/files/downloads/Additional
本章将向读者介绍同步、执行器、Fork/Join 框架、并发数据结构以及未包含在各章中的并发对象监控的概念。
附录、并行编程设计未出现在本书中,但可从以下链接免费下载:http://www.packtpub.com/sites/default/files/downloads/Concurrent
本附录将向读者介绍一些程序员在开发并发应用时应考虑的一些技巧。
要阅读本书,您需要具备 Java 编程语言的基本知识。您应该知道如何使用 IDE,如 Eclipse 或 NetBeans,但这不是必要的先决条件。
如果您是一名 Java 开发人员,希望进一步了解并发编程和多线程,并发现 Java 7 的新并发特性,那么Java 7 并发烹饪书适合您。您应该已经熟悉了一般的 Java 开发实践,基本掌握线程将是一个优势。
在这本书中,你会发现许多不同类型的文本可以区分不同类型的信息。下面是这些风格的一些例子,并解释了它们的含义。
文本中的码字如下:“扩展Thread
类,重写run()
方法”。
代码块设置如下:
public Calculator(int number) {
this.number=number;
}
新术语和重要词语以粗体显示。例如,您在屏幕上的菜单或对话框中看到的文字出现在文本中,如下所示:“使用菜单栏中文件菜单的新建项目选项创建新项目”。
警告或重要注释显示在这样的框中。
提示和技巧如下所示。
我们欢迎读者的反馈。让我们知道你对这本书的看法你喜欢或可能不喜欢什么。读者反馈对于我们开发您真正从中获益最多的标题非常重要。
要向我们发送一般反馈,只需向<[feedback@packtpub.com](mailto:feedback@packtpub.com)>
发送电子邮件,并通过邮件主题提及书名即可。
如果您对某个主题有专业知识,并且您有兴趣撰写或贡献一本书,请参阅我们的作者指南,网址为www.packtpub.com/authors。
既然您是一本 Packt 图书的骄傲拥有者,我们有很多东西可以帮助您从购买中获得最大收益。
您可以下载您在账户购买的所有 Packt 书籍的示例代码文件 http://www.PacktPub.com 。如果您在其他地方购买了本书,您可以访问http://www.PacktPub.com/support 并注册,将文件直接通过电子邮件发送给您。
虽然我们已尽一切努力确保内容的准确性,但错误确实会发生。如果您在我们的一本书中发现错误,可能是文本或代码中的错误,如果您能向我们报告,我们将不胜感激。通过这样做,您可以使其他读者免于沮丧,并帮助我们改进本书的后续版本。如果您发现任何错误,请访问进行报告 http://www.packtpub.com/support ,选择您的书籍,点击勘误表提交表单链接,输入您勘误表的详细信息。一旦您的勘误表得到验证,您的提交将被接受,勘误表将上传到我们的网站上,或添加到该标题勘误表部分的任何现有勘误表列表中。通过从中选择您的标题,可以查看任何现有勘误表 http://www.packtpub.com/support 。
在互联网上盗版版权材料是所有媒体的一个持续问题。在 Packt,我们非常重视版权和许可证的保护。如果您在互联网上发现我们作品的任何形式的非法复制品,请立即向我们提供地址或网站名称,以便我们采取补救措施。
请致电<[copyright@packtpub.com](mailto:copyright@packtpub.com)>
与我们联系,并提供可疑盗版材料的链接。
我们感谢您在保护我们的作者方面的帮助,以及我们为您带来有价值内容的能力。
如果您对本书的任何方面有疑问,请致电<[questions@packtpub.com](mailto:questions@packtpub.com)>
与我们联系,我们将尽力解决。