当前位置: 首页 > 大数据

Scala并发编程程pdf电子书

简介Scala并发编程程中文版怎么样? 免费的性能午餐已经结束——Intel、AMD 和Sparc、PowerPC 等主要的处理器生产厂商,从前使用的提高CPU 性能的传统方法已经走到...
《Scala并发编程程》pdf电子书百度网盘下载
《Scala并发编程程》pdf电子书百度网盘下载

 

Scala并发编程程中文版怎么样?最新电子版百度云下载

免费的性能午餐已经结束——Intel、AMD 和Sparc、PowerPC 等主要的处理器生产厂商,从前使用的提高CPU 性能的传统方法已经走到尽头,单核处理器的主频多年来一直踏步不前,当今主流的CPU 制造技术是超线程和多核架构。面对计算机性能的挑战和硬件架构的改变,迷惘的软件开发者们应何去何从?《Scala并发编程》为大家展示了一条光明的康庄大道!《Scala并发编程》由Scala 语言的发明者,瑞士洛桑联邦理工大学教授Martin Odersky 的爱徒Aleksandar Prokopec 博士撰写。作者根据自己在Scala 语言开发团队中的工作经验,全面地介绍了并发编程技术。这些并发编程技术包括:并发程序设计的基础知识和背景知识、常用并发实用组件(如线程池、原子变量和并发集合)的用法、Scala 专用并发框架(Future 和Promise API)的用法、Scala 并行集合框架的用法、使用响应式扩展框架编写基于事件的程序和异步程序的方式、用于编写事务程序的ScalaSTM 库以及Actor 编程模型和Akka框架。作者在《Scala并发编程》中列举的实例既介绍了理论知识又展示了实践方法,同时还能够开拓读者的编程思路。此外,作者还在每章末尾提供了大量编程习题,帮助读者测试和巩固知识。


作者简介:
Aleksandar Prokopec 是一位软件开发者,同时也是并发和分布式编程技术研究者。他拥有克罗地亚萨格勒布大学电子工程和计算学院的计算机专业硕士学位和瑞士洛桑联邦理工大学(EPFL)的计算机科学专业博士学位。作为 EPFL 博士助教和 Scala 语言开发团队成员,他积极为 Scala 编程语言做贡献,研究并发编程抽象、并行数据编程支持和 Scala并发数据结构。他编写了 Scala Parallel Collections 框架,这是一个高级的 Scala 并行数据编程库。他还参加了多个 Scala 并发库开发小组,开发了 Future、Promise 和 ScalaSTM 等抽象。

目录:前言 ............................................................................................ XVII
1 简介 ........................................................................................................... 1
并发程序设计 .......................................................................................................... 1
传统并发编程技术概述 ............................................................................. 2
现代并发范式 .......................................................................................................... 3
Scala 的优点 ....................................................................... 4
预备知识 ....................................................................................... 5
执行Scala 程序 ......................................................................... 5
Scala 基础知识 ................................................................................................ 6
小结 ...................................................................................................... 11
练习 ........................................................................................ 11
2 JVM 和Java 内存模型中的并发处理方式 ................................................ 13
进程和线程 ...................................................................... 14
创建和启动线程 ....................................................16
原子执行方式 .......................................................21
调整次序 ..................................................................................................25
监控器和同步 ............................................................................................... 27
死锁 .....................................................................................................29
保卫锁 ..........................................................................................................32
中断线程和正常关闭 ...............................................................................................36
Volatile 变量 .................................................................................................. 37
Java 内存模型.............................................................................................. 39
不可变对象和final 字段 .......................................................41
小结 ............................................................. 43
练习 ....................................................................................... 43
3 构建并发程序的传统材料 ............................................. 47
Executor 和ExecutionContext 对象 ................... 48
原子型基元 ...................................................... 52
原子变量 ............................................................................52
无锁编程 ..........................................................55
以明确方式实现锁 ...................................................................57
ABA 问题 .....................................................................59
惰性值 .............................................................................. 61
并发集合 ..................................................................... 66
并发队列 ...............................................................................68
并发集和映射 .....................................................71
并发遍历 .............................................................77
创建和处理进程 ...................................................... 79
小结 ................................................................. 81
练习 ................................................................... 81
4 使用Future 和Promise 对象编写异步程序 .............................................. 85
Future 类 ................................................................................. 86
执行Future 计算....................................................................88
Future 对象的回调函数 ..................................................89
Future 计算和异常 ...............................................92
使用Try 类型 .......................................93
致命异常 ............................................95
Future 对象中的函数组合 ............................................................95
Promise 类 .................................................. 103
转换基于回调函数的API ........................................................... 106
扩展Future API .................................................. 108
取消异步计算操作 ..................................................................................... 109
Future 对象和阻塞操作 ................................................................... 112
等待Future 对象..................................................................................... 112
在异步计算内部执行阻塞操作 ................................................................................... 113
Scala Async 库 ...................................................................... 114
可选的Future 框架 .......................................................................................... 117
小结 ........................................................................................................... 118
练习 ....................................................................................................................... 119
5 数据并行集合 ......................................................................................... 121
Scala 集合概述 ................................................................................................ 122
并行集合的用法 ......................................................................................... 123
并行集合类的层次结构 ....................................................................................... 126
配置并行等级 ...................................................................................................... 128
在JVM 中度量性能 ............................................................................. 129
使用并行集合的注意事项 ................................................................................. 131
非可并行化集合 .................................................................... 131
非可并行化操作 .............................................................................................. 132
并行操作的副作用 .................................................................................................... 134
不确定的并行操作 .................................. 135
可交换和可结合操作符 .............................................................. 137
组合使用并行集合和并发集合 .................................................................... 139
弱一致性迭代器 ........................................................ 140
实现自定义的并行集合 ............................................................................... 141
分离器 ................................................................................................ 142
组合器 ..................................................................................................... 145
可选的数据并行框架 ................................................................. 148
ScalaBlitz 框架中的集合层次结构 .............................................................. 149
小结 ....................................................................................................... 150
练习 ............................................................................................. 151
6 使用Reactive Extensions 编写并发程序 ............................................... 153
创建Observable 对象 ............................................................... 154
Observable 对象和异常 ................................................................ 157
Observable 协定 ................................................................................ 158
实现自定义Observable 对象 ...................................................................................... 160
通过Future 对象创建Observable 对象 ............................................................ 161
Subscription 对象 ............................................................................................ 162
组合Observable 对象 ...................................................................................... 165
嵌套的Observable 对象 ....................................................................................... 166
处理完善Observable 对象失败的情况 .................................................................. 171
Rx 调度器 ............................................................................... 174
使用自定义调度器编写UI 应用程序 .................................................................. 176
Subject 特征和自顶向下的响应式编程 .................................................. 181
小结 ............................................................................................ 186
练习 ..................................................................................... 186
7 基于软件的事务内存 .............................................................................. 189
原子变量带来的麻烦 ...................................................................... 190
使用基于软件的事务内存 .............................................. 194
事务引用 ......................................................... 196
使用atomic 语句 ................................................................ 197
组合事务 .............................................................. 198
事务与副作用 ................................................................. 199
单操作事务 ................................................................. 203
嵌套事务 ........................................................... 205
事务和异常 ...................................................... 208
重新尝试执行事务 ........................................ 212
通过超时设置重新尝试执行事务 ......................................... 216
事务集合 ..................................................................................... 217
事务局部变量 ................................................................. 218
事务数组 ......................................................... 219
事务映射 .............................................................................. 221
小结 ............................................................................................. 222
练习 ............................................................................. 223
8 Actor ...................................................................................................... 227
使用Actor 模型 ............................................................................... 228
创建Actor 系统和Actor 实例 ..................................................................... 230
管理无法正常处理的消息 .................................................................................. 233
Actor 实例的行为和状态 ........................................................................................ 234
Akka 框架中的Actor 层次结构.................................................................................. 239
识别Actor 对象 ............................................................................................... 242
Actor 对象的生命周期 ................................................................................... 245
Actor 对象之间的通信 ...................................................... 249
请求模式 ........................................................ 251
转发模式 ..................................................................... 254
停止Actor 对象 ......................................................................... 255
Actor 监督 .......................................................................... 257
远程Actor 对象 ............................................................. 263
小结 .............................................................................................. 266
练习 ................................................................................................... 267
9 实用并发技术 ......................................................................................... 269
工欲善其事,必先利其器 ....................................................... 269
组合使用多种框架——编写远程文件管理器 ............................................ 273
创建文件系统模型 ........................................................ 274
服务器接口 ......................................................................... 278
客户端导航API.................................................................................. 280
客户端的用户界面 ............................................................................. 284
实现客户端程序的逻辑 .................................................................................. 288
改进远程文件管理器 ........................................................................................ 293
调试并发程序 ................................................................................................................... 294
死锁和暂停处理过程 ............................................................... 295
调试运行结果不正确的程序 ................................................................ 299
性能调试 ............................................................................... 304
小结 .............................................................................................................................. 310
练习 .................................................................................................................................. 311

点击下载