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

目录
相关文章
|
3月前
|
Java 编译器 开发者
深入理解Java内存模型(JMM)及其对并发编程的影响
【9月更文挑战第37天】在Java的世界里,内存模型是隐藏在代码背后的守护者,它默默地协调着多线程环境下的数据一致性和可见性问题。本文将揭开Java内存模型的神秘面纱,带领读者探索其对并发编程实践的深远影响。通过深入浅出的方式,我们将了解内存模型的基本概念、工作原理以及如何在实际开发中正确应用这些知识,确保程序的正确性和高效性。
|
1月前
|
安全 Java 程序员
深入理解Java内存模型与并发编程####
本文旨在探讨Java内存模型(JMM)的复杂性及其对并发编程的影响,不同于传统的摘要形式,本文将以一个实际案例为引子,逐步揭示JMM的核心概念,包括原子性、可见性、有序性,以及这些特性在多线程环境下的具体表现。通过对比分析不同并发工具类的应用,如synchronized、volatile关键字、Lock接口及其实现等,本文将展示如何在实践中有效利用JMM来设计高效且安全的并发程序。最后,还将简要介绍Java 8及更高版本中引入的新特性,如StampedLock,以及它们如何进一步优化多线程编程模型。 ####
36 0
|
5月前
|
Java 程序员 调度
【JAVA 并发秘籍】进程、线程、协程:揭秘并发编程的终极武器!
【8月更文挑战第25天】本文以问答形式深入探讨了并发编程中的核心概念——进程、线程与协程,并详细介绍了它们在Java中的应用。文章不仅解释了每个概念的基本原理及其差异,还提供了实用的示例代码,帮助读者理解如何在Java环境中实现这些并发机制。无论你是希望提高编程技能的专业开发者,还是准备技术面试的求职者,都能从本文获得有价值的见解。
84 1
|
2月前
|
缓存 Java 开发者
Java多线程并发编程:同步机制与实践应用
本文深入探讨Java多线程中的同步机制,分析了多线程并发带来的数据不一致等问题,详细介绍了`synchronized`关键字、`ReentrantLock`显式锁及`ReentrantReadWriteLock`读写锁的应用,结合代码示例展示了如何有效解决竞态条件,提升程序性能与稳定性。
209 6
|
2月前
|
存储 缓存 安全
Java内存模型(JMM):深入理解并发编程的基石####
【10月更文挑战第29天】 本文作为一篇技术性文章,旨在深入探讨Java内存模型(JMM)的核心概念、工作原理及其在并发编程中的应用。我们将从JMM的基本定义出发,逐步剖析其如何通过happens-before原则、volatile关键字、synchronized关键字等机制,解决多线程环境下的数据可见性、原子性和有序性问题。不同于常规摘要的简述方式,本摘要将直接概述文章的核心内容,为读者提供一个清晰的学习路径。 ####
52 2
|
2月前
|
设计模式 安全 Java
Java 多线程并发编程
Java多线程并发编程是指在Java程序中使用多个线程同时执行,以提高程序的运行效率和响应速度。通过合理管理和调度线程,可以充分利用多核处理器资源,实现高效的任务处理。本内容将介绍Java多线程的基础概念、实现方式及常见问题解决方法。
124 0
|
4月前
|
Java 开发者
深入探索Java中的并发编程
本文将带你领略Java并发编程的奥秘,揭示其背后的原理与实践。通过深入浅出的解释和实例,我们将探讨Java内存模型、线程间通信以及常见并发工具的使用方法。无论是初学者还是有一定经验的开发者,都能从中获得启发和实用的技巧。让我们一起开启这场并发编程的奇妙之旅吧!
38 5
|
4月前
|
算法 安全 Java
Java中的并发编程是如何实现的?
Java中的并发编程是通过多线程机制实现的。Java提供了多种工具和框架来支持并发编程。
26 1
|
4月前
|
缓存 监控 Java
Java中的并发编程:理解并应用线程池
在Java的并发编程中,线程池是提高应用程序性能的关键工具。本文将深入探讨如何有效利用线程池来管理资源、提升效率和简化代码结构。我们将从基础概念出发,逐步介绍线程池的配置、使用场景以及最佳实践,帮助开发者更好地掌握并发编程的核心技巧。
|
4月前
|
安全 Java 测试技术
掌握Java的并发编程:解锁高效代码的秘密
在Java的世界里,并发编程就像是一场精妙的舞蹈,需要精准的步伐和和谐的节奏。本文将带你走进Java并发的世界,从基础概念到高级技巧,一步步揭示如何编写高效、稳定的并发代码。让我们一起探索线程池的奥秘、同步机制的智慧,以及避免常见陷阱的策略。