文件名称:Java 7并发编程实战手册
文件大小:72.05MB
文件格式:PDF
更新时间:2019-04-06 14:09:06
Java 战手册
java7在并发编程方面,带来了很多令人激动的新功能,这将使你的应用程序具备更好的并行任务性能。 《Java 7并发编程实战手册》是Java 7并发编程的实战指南,介绍了Java 7并发API中大部分重要而有用的机制。全书分为9章,涵盖了线程管理、线程同步、线程执行器、Fork/Join框架、并发集合、定制并发类、测试并发应用等内容。全书通过60多个简单而非常有效的实例,帮助读者快速掌握Java 7多线程应用程序的开发技术。学习完本书,你可以将这些开发技术直接应用到自己的应用程序中。 《Java 7并发编程实战手册》适合具有一定Java编程基础的读者阅读和学习。如果你是一名Java开发人员,并且想进一步掌握并发编程和多线程技术,并挖掘Java 7并发的新特性,那么本书是你的合适之选。 《Java 7并发编程实战手册》 第1章 线程管理 1 1.1 简介 1 1.2 线程的创建和运行 2 1.3 线程信息的获取和设置 5 1.4 线程的中断 9 1.5 线程中断的控制 11 1.6 线程的休眠和恢复 15 1.7 等待线程的终止 17 1.8 守护线程的创建和运行 20 1.9 线程中不可控异常的处理 24 1.10 线程局部变量的使用 26 1.11 线程的分组 30 1.12 线程组中不可控异常的处理 34 1.13 使用工厂类创建线程 37 第2章 线程同步基础 41 2.1 简介 41 2.2 使用synchronized实现同步方法 42 2.3 使用非依赖属性实现同步 47 2.4 在同步代码中使用条件 53 2.5 使用锁实现同步 57 2.6 使用读写锁实现同步数据访问 61 2.7 修改锁的公平性 65 2.8 在锁中使用多条件(Multiple Condition) 69 第3章 线程同步辅助类 77 3.1 简介 77 3.2 资源的并发访问控制 78 3.3 资源的多副本的并发访问控制 83 3.4 等待多个并发事件的完成 87 3.5 在集合点的同步 91 3.6 并发阶段任务的运行 100 3.7 并发阶段任务中的阶段切换 109 3.8 并发任务间的数据交换 115 第4章 线程执行器 120 4.1 简介 120 4.2 创建线程执行器 121 4.3 创建固定大小的线程执行器 126 4.4 在执行器中执行任务并返回结果 129 4.5 运行多个任务并处理第一个结果 134 4.6 运行多个任务并处理所有结果 139 4.7 在执行器中延时执行任务 144 4.8 在执行器中周期性执行任务 147 4.9 在执行器中取消任务 151 4.10 在执行器中控制任务的完成 154 4.11 在执行器中分离任务的启动与结果的处理 158 4.12 处理在执行器中被拒绝的任务 164 第5章 Fork/Join框架 168 5.1 简介 168 5.2 创建Fork/Join线程池 170 5.3 合并任务的结果 178 5.4 异步运行任务 187 5.5 在任务中抛出异常 194 5.6 取消任务 199 第6章 并发集合 206 6.1 简介 206 6.2 使用非阻塞式线程安全列表 207 6.3 使用阻塞式线程安全列表 212 6.4 使用按优先级排序的阻塞式线程安全列表 215 6.5 使用带有延迟元素的线程安全列表 221 6.6 使用线程安全可遍历映射 226 6.7 生成并发随机数 231 6.8 使用原子变量 233 6.9 使用原子数组 237 第7章 定制并发类 242 7.1 简介 242 7.2 定制ThreadPoolExecutor类 243 7.3 实现基于优先级的Executor类 248 7.4 实现ThreadFactory接口生成定制线程 252 7.5 在Executor对象中使用ThreadFactory 257 7.6 定制运行在定时线程池中的任务 259 7.7 通过实现ThreadFactory接口为Fork/Join框架生成定制线程 267 7.8 定制运行在Fork/Join框架中的任务 273 7.9 实现定制Lock类 278 7.10 实现基于优先级的传输队列 284 7.11 实现自己的原子对象 294 第8章 测试并发应用程序 300 8.1 简介 300 8.2 监控Lock接口 301 8.3 监控Phaser类 305 8.4 监控执行器框架 309 8.5 监控Fork/Join池 312 8.6 输出高效的日志信息 317 8.7 使用FindBugs分析并发代码 323 8.8 配置Eclipse调试并发代码 327 8.9 配置NetBeans调试并发代码 330 8.10 使用MultithreadedTC测试并发代码 335