并发模式与应用实践pdf下载

并发模式与应用实践百度网盘pdf下载

作者:
简介:并发模式与应用实践
出版社:机械工业出版社
出版时间:2019-04-01
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

内容简介
  本书第1章介绍并发编程。正如你将看到的,并发本身就是一个领域。你将了解UNIX进程以及并发模式的管道和过滤器。本章涉及并发编程的综述,你可能已对这方面有所了解。第2章涵盖一些关键的基本概念,并介绍Java内存模型的本质。你将了解共享状态模型中出现的竞争条件和问题,并尝试第一个并发模式:手拉手锁定。第3章包括显式同步可变状态和监视器模式,你会看到这种方法存在很多问题。我们将详细介绍主动对象设计模式。第4章介绍线程如何通过生产者/消费者模式相互通信,并介绍线程通信的概念,然后解释主/从设计模式。本章还将介绍fork-join模式的一个特例:map-reduce模式。第5章讨论构建块,还将讨论阻塞队列、有界队列、锁存器、FutureTask、信号量、屏障、激活和安全等内容。最后,描述不可变性以及不可变数据结构固有的线程安全性。第6章介绍future并讨论它的一元性质,包括转型和单子模式,还将阐释future模式的构成,同时会介绍Promise类。第7章介绍actor范式。再次回顾主动对象模式,然后解释actor范式,特别是未明确的锁定性质。还将讨论ask与tell、become模式(并强调其不变性)、流水线、半同步或半异步,并通过示例代码进行说明。
目录
版权信息
译者序
前言
作者/评阅者简介
第1章 并发简介
1.1 并发轻而易举
1.1.1 推动并发
1.1.1.1 MapReduce模式
1.1.1.2 容错
1.1.2 分时
1.1.3 两种并发编程模型
1.2 消息传递模型
1.2.1 协调和通信
1.2.2 流控制
1.2.3 分治策略
1.2.4 进程状态的概念
1.3 共享内存和共享状态模型
1.3.1 线程交错——同步的需要
1.3.2 竞争条件和海森堡bug
1.3.3 正确的内存可见性和happens-before原则
1.3.4 共享、阻塞和公平
1.3.5 异步与同步执行
1.3.6 Java的非阻塞I/O
1.4 模式和范式
1.4.1 事件驱动的架构
1.4.2 响应式编程
1.4.3 actor范式
1.4.4 消息代理
1.4.5 软件事务性内存
1.4.6 并行集合
1.5 本章小结
第2章 并发模式初探
2.1 线程及其上下文
2.2 竞争条件
2.2.1 监视器模式
2.2.2 线程安全性、正确性和不变性
2.2.2.1 顺序一致性
2.2.2.2 可见性和final字段
2.2.3 双重检查锁定
2.2.3.1 安全发布
2.2.3.2 初始化Demand Holder模式
2.2.4 显式锁定
2.2.4.1 手拉手模式
2.2.4.2 观察后判断这是正确的吗?
2.2.5 生产者/消费者模式
2.2.6 比较和交换
2.3 本章小结
第3章 更多的线程模式
3.1 有界缓冲区
3.1.1 策略模式——客户端轮询
3.1.2 接管轮询和睡眠的策略
3.1.3 使用条件变量的策略
3.2 读写锁
3.2.1 易读的RW锁
3.2.2 公平锁
3.3 计数信号量
3.4 我们自己的重入锁
3.5 倒计时锁存器
3.6 循环屏障
3.7 future任务
3.8 本章小结
第4章 线 程 池
4.1 线程池
4.1.1 命令设计模式
4.1.2 单词统计
4.1.3 单词统计的另一个版本
4.1.4 阻塞队列
4.1.5 线程中断语义
4.2 fork-join池
4.2.1 Egrep——简易版
4.2.2 为什么要使用递归任务
4.2.3 任务并行性
4.2.4 使用fork-join API实现快速排序
4.2.4.1 ForkJoinQuicksortTask类
4.2.4.2 写时拷贝技术
4.2.4.3 就地排序
4.2.5 map-reduce技术
4.3 线程的工作窃取算法
4.4 主动对象
4.4.1 隐藏和适应
4.4.2 使用代理
4.5 本章小结
第5章 提升并发性
5.1 无锁堆栈
5.1.1 原子引用
5.1.2 堆栈的实现
5.2 无锁的FIFO队列
5.2.1 流程如何运作
5.2.2 无锁队列
5.2.3 ABA问题
5.2.3.1 ThreadLocal类
5.2.3.2 汇集空闲节点
5.2.3.3 AtomicStampedReference类
5.3 并发的哈希算法
5.3.1 add(v)方法
5.3.2 contains(v)方法
5.4 大锁的方法
5.5 锁条纹设计模式
5.6 本章小结
第6章 函数式并发模式
6.1 不变性
6.1.1 不可修改的包装器
6.1.2 持久数据结构
6.1.3 递归和不变性
6.2 future模式
6.2.1 apply方法
6.2.2 future——线程映射
6.2.3 future模式是异步的
6.2.4 糟糕的阻塞
6.2.5 函数组合
6.3 本章小结
第7章 actor模式
7.1 消息驱动的并发
7.1.1 什么是actor
7.1.1.1 让它崩溃
7.1.1.2 位置透明
7.1.1.3 轻量级actor
7.1.2 状态封装
7.1.3 并行性在哪里
7.1.4 未处理的消息
7.1.5 become模式
7.1.6 让它崩溃并恢复
7.1.7 actor通信——ask模式
7.1.8 actor通信——tell模式
7.1.9 pipeTo模式
7.2 本章小结