发表于2024-11-23
书[0名0]: | Java并发编程实战([0第0]16届Jolt[0大0]奖提[0名0]图书,Java并发编程必读佳作)|199038 |
图书定价: | 69元 |
图书作者: | (美)Brian Goetz;Tim Peierls 等 |
出版社: | [1机1] 械工业出版社 |
出版日期: | 2012/2/1 0:00:00 |
ISBN号: | 9787111370048 |
开本: | 16开 |
页数: | 291 |
版次: | 1-1 |
作者简介 |
作者:盖茨(Brian Goetz) (美[0国0])Tim Peierls (美[0国0])Joshua Bloch 等 译者:童云兰 等 本书作者都是Java Community Process JSR 166专家组(并发工具)的主要成员,并在其他很多JCP专家组里任职。Brian Goetz有20多年的软件咨询行业经验,并著有至少75篇关于Java开发的文章。 Tim Peierls是“现代多处理器”的典范,他在BoxPop.biz、唱片艺术和戏剧表演方面也颇有研究。 Joseph Bowbeer是一个Java ME专家,他对并发编程的兴趣始于Apollo计算 [1机1] 时代。David Holmes是《The Java Programming Language》一书的合著者,任职于Sun公司。 Joshua Bloch是Google公司的[0首0]席Java架构师,《Effective Java》一书的作者,并参与著作了《Java Puzzlers》。 Doug Lea是《Concurrent Programming》一书的作者,纽约州立[0大0][0学0] Oswego分校的计算 [1机1] 科[0学0]教授。 |
内容简介 |
《Java并发编程实战》深入浅出地介绍了Java线程和并发,是一本完美的Java并发参考手册。书中从并发性和线程安全性的基本概念出发,介绍了如何使用类库提供的基本并发构建块,用于避免并发危险、构造线程安全的类及验证线程安全的规则,如何将小的线程安全类组合成更[0大0]的线程安全类,如何利用线程来提高并发应用程序的吞吐量,如何识别可并行执行的任务,如何提高单线程子系统的响应性,如何确保并发程序执行预期任务,如何提高并发代码的性能和可伸缩性等内容,后介绍了一些高级主题,如显式锁、原子变量、非阻塞算[0法0]以及如何开发自定义的同步工具类。 《Java并发编程实战》适合Java程序开发人员阅读。 |
目录 |
《Java并发编程实战》 对本书的赞誉 译者序 前 言 [0第0]1章 简介1 1.1 并发简[0史0]1 1.2 线程的[0优0]势2 1.2.1 发挥多处理器的强[0大0]能力2 1.2.2 建模的简单性3 1.2.3 异步事件的简化处理3 1.2.4 响应更灵敏的用户界面4 1.3 线程带来的风险4 1.3.1 安全性问题5 1.3.2 活跃性问题7 1.3.3 性能问题7 1.4 线程无处不在7 [0第0]一部分 基础[0知0]识 [0第0]2章 线程安全性11 2.1 什么是线程安全性13 2.2 原子性14 2.2.1 竞态条件15 2.2.2 示例:延迟初始化中的竞态条件16 2.2.3 复合操作17 2.3 加锁 [1机1] 制18 2.3.1 内置锁20 2.3.2 重入21 2.4 用锁来保护状态22 2.5 活跃性与性能23 [0第0]3章 对象的共享27 3.1 可见性27 3.1.1 失效数据28 3.1.2 非原子的64位操作29 3.1.3 加锁与可见性30 3.1.4 Volatile变量 30 3.2 发布与逸出32 3.3 线程封闭35 3.3.1 Ad-hoc线程封闭35 3.3.2 栈封闭36 3.3.3 ThreadLocal类37 3.4 不变性38 3.4.1 Final域39 3.4.2 示例:使用Volatile类型来发布不可变对象40 3.5 安全发布41 3.5.1 不正确的发布:正确的对象被破坏42 3.5.2 不可变对象与初始化安全性42 3.5.3 安全发布的常用模式43 3.5.4 事实不可变对象44 3.5.5 可变对象44 3.5.6 安全地共享对象44 [0第0]4章 对象的组合46 4.1 设计线程安全的类46 4.1.1 收集同步需求47 4.1.2 依赖状态的操作48 4.1.3 状态的所有[0[0权0]0]48 4.2 实例封闭49 4.2.1 Java监视器模式51 4.2.2 示例:车辆追踪51 4.3 线程安全性的委托53 4.3.1 示例:基于委托的车辆追踪器54 4.3.2 [0独0]立的状态变量55 4.3.3 [0当0]委托失效时56 4.3.4 发布底层的状态变量57 4.3.5 示例:发布状态的车辆追踪器58 4.4 在现有的线程安全类中添加功能59 4.4.1 客户端加锁 [1机1] 制60 4.4.2 组合62 4.5 将同步策略文档化62 [0第0]5章 基础构建模块66 5.1 同步容器类66 5.1.1 同步容器类的问题66 5.1.2 迭代器与Concurrent-ModificationException68 5.1.3 隐藏迭代器69 5.2 并发容器70 5.2.1 ConcurrentHashMap71 5.2.2 额外的原子Map操作72 5.2.3 CopyOnWriteArrayList72 5.3 阻塞队列和生产者-消费者模式73 5.3.1 示例:桌面搜索75 5.3.2 串行线程封闭76 5.3.3 [0[0双0]0]端队列与工作密取77 5.4 阻塞方[0法0]与中断方[0法0]77 5.5 同步工具类78 5.5.1 闭锁79 5.5.2 FutureTask80 5.5.3 信号量82 5.5.4 栅栏83 5.6 构建高效且可伸缩的结果缓存85 [0第0]二部分 结构化并发应用程序 [0第0]6章 任务执行93 6.1 在线程中执行任务93 6.1.1 串行地执行任务94 6.1.2 显式地为任务创建线程94 6.1.3 无限制创建线程的不足95 6.2 Executor框架96 6.2.1 示例:基于Executor的Web服务器97 6.2.2 执行策略98 6.2.3 线程池98 6.2.4 Executor的生命周期99 6.2.5 延迟任务与周期任务101 6.3 找出可利用的并行性102 6.3.1 示例:串行的页面渲染器102 6.3.2 携带结果的任务C[0all0]able与Future103 6.3.3 示例:使用Future实现页面渲染器104 6.3.4 在异构任务并行化中存在的局限106 6.3.5 CompletionService:Executor与BlockingQueue106 6.3.6 示例:使用CompletionService实现页面渲染器107 6.3.7 为任务设置时限108 6.3.8 示例:旅行预定门户网站109 [0第0]7章 取消与关闭111 7.1 任务取消111 7.1.1 中断113 7.1.2 中断策略116 7.1.3 响应中断117 7.1.4 示例:计时运行118 7.1.5 通过Future来实现取消120 7.1.6 处理不可中断的阻塞121 7.1.7 采用newTaskFor来封装非标准的取消122 7.2 停止基于线程的服务124 7.2.1 示例:日志服务124 7.2.2 关闭ExecutorService127 7.2.3 “毒丸”对象128 7.2.4 示例:只执行一次的服务129 7.2.5 shutdown[0No0]w的局限性130 7.3 处理非正常的线程终止132 7.4 JVM关闭135 7.4.1 关闭钩子135 7.4.2 守护线程136 7.4.3 终结器136 [0第0]8章 线程池的使用138 8.1 在任务与执行策略之间的隐性耦合138 8.1.1 线程饥饿死锁139 8.1.2 运行时间较长的任务140 8.2 设置线程池的[0大0]小140 8.3 配置ThreadPoolExecutor141 8.3.1 线程的创建与销毁142 8.3.2 管理队列任务142 8.3.3 饱和策略144 8.3.4 线程工厂146 8.3.5 在调用构造函数后再定制ThreadPoolExecutor147 8.4 扩展 ThreadPoolExecutor148 8.5 递归算[0法0]的并行化149 [0第0]9章 图形用户界面应用程序156 9.1 为什么GUI是单线程的156 9.1.1 串行事件处理157 9.1.2 Swing中的线程封闭 [1机1] 制158 9.2 短时间的GUI任务160 9.3 长时间的GUI任务161 9.3.1 取消162 9.3.2 进度标识和完成标识163 9.3.3 SwingWorker165 9.4 共享数据模型165 9.4.1 线程安全的数据模型166 9.4.2 分解数据模型166 9.5 其他形式的单线程子系统167 [0第0]三部分 活跃性、性能与测试 [0第0]10章 避免活跃性危险169 10.1 死锁169 10.1.1 锁顺序死锁170 10.1.2 动态的锁顺序死锁171 10.1.3 在协作对象之间发生的死锁174 10.1.4 开放调用175 10.1.5 资源死锁177 10.2 死锁的避免与诊断178 10.2.1 支持定时的锁178 10.2.2 通过线程转储信息来分析死锁178 10.3 其他活跃性危险180 10.3.1 饥饿180 10.3.2 糟糕的响应性181 10.3.3 活锁181 [0第0]11章 性能与可伸缩性183 11.1 对性能的思考183 11.1.1 性能与可伸缩性184 11.1.2 [0评0]估各种性能[0[0权0]0]衡因素185 11.2 Amdahl定律186 11.2.1 示例:在各种框架中隐藏的串行部分188 11.2.2 Amdahl定律的应用189 11.3 线程引入的开 包邮 Java并发编程实战(第16届Jolt大奖提名图书,Java并发编|199038 下载 mobi epub pdf txt 电子书 格式 包邮 Java并发编程实战(第16届Jolt大奖提名图书,Java并发编|199038 mobi 下载 pdf 下载 pub 下载 txt 电子书 下载 2024包邮 Java并发编程实战(第16届Jolt大奖提名图书,Java并发编|199038 下载 mobi pdf epub txt 电子书 格式 2024 包邮 Java并发编程实战(第16届Jolt大奖提名图书,Java并发编|199038 下载 mobi epub pdf 电子书用户评价
评分
评分 评分 评分 评分 评分 评分 评分 评分
类似图书 点击查看全场最低价
包邮 Java并发编程实战(第16届Jolt大奖提名图书,Java并发编|199038 mobi epub pdf txt 电子书 格式下载 2024 分享链接相关图书
|