Java 7 并发编程指南中文版

简介:

原文链接 作者: Javier Fernández González  译者:郑玉婷,许巧辉 校对:方腾飞,欧振聪  

申明:本书由并发编程网组织翻译,只供研究和学习之用,禁止任何人用于商业用途。

当你用计算机工作的时候,你在同时做多样事情。你可以边听音乐边写文档边读取邮件。可以这样做的原因是你的操作系统运行并发任务。并发编程是关于基础与进程的一个提供了多任务或者多程序同时运行还相互沟通来交换数据和相互同步的平台。Java是一个并发平台,在Java程序中提供了很多执行并发任务的类。每个版本,Java提升了促进程序员开发并发程序的功能。这本书包含了在Java版本7的并发API中最重要和最有用的技巧,你可以直接在你的应用程序中使用的。

目录

前言

第一章: 线程管理

  1. 介绍 
  2. 线程的创建和运行 
  3. 获取和设置线程信息 
  4. 线程的中断 
  5. 操作线程的中断机制 
  6. 线程的睡眠和恢复 
  7. 等待线程的终结 
  8. 守护线程的创建和运行 
  9. 处理线程的不受控制异常 
  10. 使用本地线程变量
  11. 线程组
  12. 处理线程组内的不受控制异常
  13. 用线程工厂创建线程

第二章 : 基本线程同步

  1. 介绍 
  2. 同步方法 
  3. 在同步的类里安排独立属性
  4. 在同步代码中使用条件
  5. 使用Lock来同步代码块
  6. 使用读/写锁来同步数据访问
  7. 修改Lock的公平性
  8. 在Lock中使用多条件

第三章: 线程同步工具

  1. 介绍
  2. 控制并发访问一个资源
  3. 控制并发访问多个资源
  4. 等待多个并发事件完成
  5. 在一个相同点同步任务
  6. 运行并发阶段性任务
  7. 控制并发阶段性任务的改变
  8. 在并发任务间交换数据

第四章: 线程执行者

  1. 介绍 
  2. 创建一个线程执行者 
  3. 创建一个大小固定的线程执行者 
  4. 执行者执行返回结果的任务 
  5. 运行多个任务并处理第一个结果 
  6. 运行多个任务并处理所有的结果
  7. 在延迟后执行者运行任务
  8. 执行者定期的执行任务
  9. 执行者取消任务 
  10. 执行者控制一个结束任务 
  11. 执行者分离运行任务和处理结果 
  12. 执行者控制被拒绝的任务

第五章: Fork/Join 框架

  1. 介绍 
  2. 创建 Fork/Join 池 
  3. 加入任务的结果 
  4. 异步运行任务 
  5. 任务中抛出异常
  6. 取消任务

第六章: 并发集合

  1. 介绍 
  2. 使用非阻塞线程安全列表 
  3. 使用阻塞线程安全列表 
  4. 用优先级对使用阻塞线程安全列表排序
  5. 使用线程安全与带有延迟元素的列表 
  6. 使用线程安全的导航地图
  7. 生成并行随机数 
  8. 使用原子变量
  9. 使用原子阵列 

第七章: 定制并发类

  1. 介绍 
  2. 定制ThreadPoolExecutor 类
  3. 实现一个优先级制的执行者类 
  4. 实现ThreadFactory接口来生成自定义线程 
  5. 在执行者对象中使用我们的 ThreadFactory 
  6. 在计划好的线程池中定制运行任务 
  7. 实现ThreadFactory接口来生成自定义线程给Fork/Join框架 
  8. 在Fork/Join框架中定制运行任务 
  9. 实现一个自定义锁类 
  10. 实现一个基于优先级传输Queue 
  11. 实现你自己的原子对象

第八章: 测试并发应用程序

  1. 介绍
  2. 监控锁接口
  3. 监控Phaser类
  4. 监控执行者框架
  5. 监控Fork/Join池
  6. 编写有效的日志
  7. FindBugs分析并发代码
  8. 配置Eclipse来调试并发代码
  9. 配置NetBeans来调试并发代码
  10. MultithreadedTC测试并发代码

可以从下面的链接下载免费章节:下载

文章转自 并发编程网-ifeve.com

目录
相关文章
|
5天前
|
Java 程序员 开发者
深入理解Java并发编程:线程同步与锁机制
【4月更文挑战第30天】 在多线程的世界中,确保数据的一致性和线程间的有效通信是至关重要的。本文将深入探讨Java并发编程中的核心概念——线程同步与锁机制。我们将从基本的synchronized关键字开始,逐步过渡到更复杂的ReentrantLock类,并探讨它们如何帮助我们在多线程环境中保持数据完整性和避免常见的并发问题。文章还将通过示例代码,展示这些同步工具在实际开发中的应用,帮助读者构建对Java并发编程深层次的理解。
|
5天前
|
Java
Java并发编程:深入理解线程池
【4月更文挑战第30天】本文将深入探讨Java并发编程中的一个重要主题——线程池。我们将从线程池的基本概念入手,了解其工作原理和优势,然后详细介绍如何使用Java的Executor框架创建和管理线程池。最后,我们将讨论一些高级主题,如自定义线程工厂和拒绝策略。通过本文的学习,你将能够更好地理解和使用Java的线程池,提高你的并发编程能力。
|
5天前
|
安全 Java 调度
深入理解Java并发编程:线程安全与性能优化
【4月更文挑战第30天】本文将深入探讨Java并发编程的核心概念,包括线程安全、同步机制、锁优化以及性能调优。我们将通过实例分析如何确保多线程环境下的数据一致性,同时介绍一些常见的并发模式和最佳实践,旨在帮助开发者在保证线程安全的同时,提升系统的性能和响应能力。
|
2天前
|
Java 调度 开发者
Java 并发编程的探索与实践
【5月更文挑战第3天】在当今多核处理器普及的时代,并发编程已经成为提高程序性能的重要手段。本文将深入探讨 Java 并发编程的基本概念、原理及其在实际项目中的应用,帮助读者更好地理解和掌握 Java 并发编程技巧。
|
3天前
|
并行计算 安全 Java
Java 并发编程的探索之旅
【5月更文挑战第2天】 在多线程的世界里,程序的行为变得错综复杂。本文将带您走进 Java 并发编程的核心概念,通过深入分析并发工具的使用和原理,帮助您构建高效、安全且响应迅速的应用程序。我们将探讨线程的基本知识,同步机制,以及高级并发工具如 Executors、Futures 和 Streams。通过理论与实践相结合的方式,为开发者提供一份清晰、实用的并发编程指南。
11 2
|
4天前
|
存储 安全 Java
深入理解Java并发编程:线程安全与性能优化
【5月更文挑战第1天】本文将深入探讨Java并发编程的核心概念,包括线程安全和性能优化。我们将详细分析线程安全问题的根源,以及如何通过合理的设计和编码实践来避免常见的并发问题。同时,我们还将探讨如何在保证线程安全的前提下,提高程序的并发性能,包括使用高效的同步机制、减少锁的竞争以及利用现代硬件的并行能力等技术手段。
|
4天前
|
安全 Java 程序员
Java并发编程:理解并应用ReentrantLock
【4月更文挑战第30天】 在多线程的世界中,高效且安全地管理共享资源是至关重要的。本文深入探讨了Java中的一种强大同步工具——ReentrantLock。我们将从其设计原理出发,通过实例演示其在解决并发问题中的实际应用,以及如何比传统的synchronized关键字提供更灵活的锁定机制。文章还将讨论在使用ReentrantLock时可能遇到的一些挑战和最佳实践,帮助开发者避免常见陷阱,提高程序性能和稳定性。
|
4天前
|
缓存 Java 调度
Java并发编程:深入理解线程池
【4月更文挑战第30天】 在Java并发编程中,线程池是一种重要的工具,它可以帮助我们有效地管理线程,提高系统性能。本文将深入探讨Java线程池的工作原理,如何使用它,以及如何根据实际需求选择合适的线程池策略。
|
5天前
|
Java
Java并发编程:深入理解线程池
【4月更文挑战第30天】 本文将深入探讨Java中的线程池,解析其原理、使用场景以及如何合理地利用线程池提高程序性能。我们将从线程池的基本概念出发,介绍其内部工作机制,然后通过实例演示如何创建和使用线程池。最后,我们将讨论线程池的优缺点以及在实际应用中需要注意的问题。
|
5天前
|
存储 安全 Java
【亮剑】Java并发编程中的四个关键字:ThreadLocal、Volatile、Synchronized和Atomic
【4月更文挑战第30天】Java并发编程涉及`ThreadLocal`、`Volatile`、`Synchronized`和`Atomic`四个关键机制。`ThreadLocal`为每个线程提供独立变量副本;`Volatile`确保变量可见性,但不保证原子性;`Synchronized`实现同步锁,保证单线程执行;`Atomic`类利用CAS实现无锁并发控制。理解其原理有助于编写高效线程安全代码。根据业务场景选择合适机制至关重要。