Haskell并行与并发编程

价格 59.00对比
发货 广东东莞市
销量 暂无
评价 已有 0 条评价
人气 已有 2 人关注
数量
+-
库存100
 
联系方式
加关注0

新图书资料发布

VIP   VIP会员第1年
资料未认证
保证金未缴纳

内容简介

《Haskell并行与并发编程》深入浅出地介绍如何使用Haskell语言及相关的库和框架编写并行和并发程序。《Haskell并行与并发编程》用两个部分分别讲解并行Haskell编程和并发Haskell编程。根据编程模型的不同,并行部分介绍了3种并行编程方式:基于惰性求值的并行(eval Monad及求值策略)、基于数据流的并行(Par Monad)以及面向大规模数组算法的并行(Repa数据并行编程和Acellerate GPU编程)。并发部分则按抽象层次由低到高分别涉及线程和MVar、重叠I/O、线程的取消和超时、软件事务内存、并发抽象、并发网络服务程序、使用线程并行编程和分布式编程等,还介绍调试、性能调优以及外部函数接口。书中包含大量可运行的代码示例,并附有详细的注释,读者通过亲身运行、修改和调试代码,可极大地加深对书中内容的理解。
  《Haskell并行与并发编程》适合有一定Haskell语言基础的程序员或者对并行或并发编程感兴趣的相关人员阅读。

目录

目 录

第1章 绪论 1
1.1 术语:并行性和并发性 1
1.2 工具和资源 3
1.3 示例代码 3
第一部分 并行Haskell
第2章 并行基础:eval Monad 9
2.1 惰性求值和弱范式 9
2.2 eval monad、rpar和rseq 15
2.3 示例:并行化数独解算器 18
2.4 Deepseq 27
第3章 求值策略 29
3.1 参数化策略 30
3.2 列表并行求值策略 32
3.3 示例:K均值问题 33
3.3.1 并行化K均值问题求解 37
3.3.2 性能和分析 39
3.3.3 spark活动可视化 42
3.3.4 粒度 43
3.4 spark垃圾回收与投机并行 44
3.5 使用parBuffer并行化惰性流 47
3.6 分块策略 50
3.7 恒等性 51
第4章 数据流并行:Par Monad 52
4.1 示例:图中的路径 56
4.2 流水线并行 59
4.2.1 生产者限速 63
4.2.2 流水线并行的局限性 63
4.3 示例:会议时间表 64
4.4 示例:并行类型推断器 71
4.5 使用不同的调度器 75
4.6 Par monad和策略的对比 76
第5章 Repa数据并行编程 77
5.1 数组、形状和索引 78
5.2 数组运算 80
5.3 示例:计算路径 82
5.4 折叠和形状多态 86
5.5 示例:图像旋转 88
5.6 小结 92
第6章 Acellerate GPU编程 94
6.1 概述 95
6.2 数组和索引 95
6.3 运行简单Accelerate计算 97
6.4 标量数组 99
6.5 数组索引 99
6.6 在Acc中创建数组 99
6.7 数组配对 101
6.8 常数 102
6.9 示例:路径 102
6.9.1 在GPU上运行 105
6.9.2 调试CUDA后端 106
6.10 示例:Mandelbrot集生成器 106
第二部分 并发Haskell
第7章 并发基础:线程和MVar 115
7.1 简单的示例:提醒器 116
7.2 通信:MVar 118
7.3 MVar用作简单通道:日志服务 120
7.4 MVar用作共享状态的容器 122
7.5 MVar用作构件单元:无界通道 125
7.6 公正性 129
第8章 重叠I/O 131
8.1 Haskell中的异常 134
8.2 Async的错误处理 138
8.3 合并 140
第9章 线程的取消和超时 143
9.1 异步异常 144
9.2 异步异常的屏蔽 146
9.3 bracket操作 149
9.4 通道的异步异常安全 149
9.5 超时 151
9.6 异步异常的捕获 153
9.7 mask和forkIO 155
9.8 关于异步异常的讨论 156
第10章 软件事务内存 158
10.1 运行示例:窗口管理 158
10.2 阻塞 162
10.3 阻塞直到发生变化 164
10.4 STM的合并 165
10.5 Async的重实现 166
10.6 通道的STM实现 168
10.6.1 更多可能的操作 169
10.6.2 阻塞操作的复合 170
10.6.3 异步异常安全 170
10.7 通道的另一种实现 171
10.8 有界通道 173
10.9 STM的适用性 175
10.10 性能 176
10.11 小结 178
第11章 并发抽象 179
11.1 线程泄漏的避免 179
11.2 对称并发组合子 181
11.3 添加函子实例 184
11.4 小结:Async API 185
第12章 并发网络服务程序 186
12.1 简易服务器 186
12.2 包含状态的简易服务器 189
12.2.1 设计一:单一全局锁 190
12.2.2 设计二:每条服务线程一个通道 190
12.2.3 设计三:使用广播通道 191
12.2.4 设计四:使用STM 192
12.2.5 实现 193
12.3 聊天服务器 195
12.3.1 架构 196
12.3.2 客户数据 197
12.3.3 服务器数据 198
12.3.4 服务器 199
12.3.5 设置新

举报收藏 0
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  版权声明  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  粤ICP备2021111040号