当前位置:主页 > 计算机电子书 > 程序设计 > Scala编程下载
Scala并发编程

Scala并发编程 PDF 高清版

  • 更新:2019-11-09
  • 大小:155.3 MB
  • 类别:Scala编程
  • 作者:普罗科佩茨(、Prokopec,A.),
  • 出版:电子工业出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

Scala并发编程 pdf

免费的性能午餐已经结束——Intel、AMD 和Sparc、PowerPC 等主要的处理器生产厂商,从前使用的提高CPU 性能的传统方法已经走到尽头,单核处理器的主频多年来一直踏步不前,当今主流的CPU 制造技术是超线程和多核架构。面对计算机性能的挑战和硬件架构的改变,迷惘的软件开发者们应何去何从?《Scala并发编程》为大家展示了一条光明的康庄大道!

《Scala并发编程》由Scala 语言的发明者,瑞士洛桑联邦理工大学教授Martin Odersky 的爱徒Aleksandar Prokopec 博士撰写。作者根据自己在Scala 语言开发团队中的工作经验,全面地介绍了并发编程技术。这些并发编程技术包括:并发程序设计的基础知识和背景知识、常用并发实用组件(如线程池、原子变量和并发集合)的用法、Scala 专用并发框架(Future 和Promise API)的用法、Scala 并行集合框架的用法、使用响应式扩展框架编写基于事件的程序和异步程序的方式、用于编写事务程序的ScalaSTM 库以及Actor 编程模型和Akka框架。

作者在《Scala并发编程》中列举的实例既介绍了理论知识又展示了实践方法,同时还能够开拓读者的编程思路。此外,作者还在每章末尾提供了大量编程习题,帮助读者测试和巩固知识。

目录

  • 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

资源下载

资源下载地址1:https://pan.baidu.com/s/1AW8FG4ribjPX_zDdwwDMRA

相关资源

网友留言