设计模式:.NET并行编程_NET教程

2020-07-03 0 123

资源名称:设计模式:.NET并行编程

内容简介:

《设计模式:.NET并行编程》结合大量的项目实践,介绍了与并行编程相关的概念、方法和应用。《设计模式:.NET并行编程》共7章:第1章主要介绍并行编程的基本概念与并行计算的基础理论,第2章主要介绍并行循环的知识,第3章介绍并行任务处理,第4章阐述并行合并计算的机理,第5章介绍future模式,第6章在前文的基础上深入探讨动态并行任务机制,第7章介绍并行编程的流水线机制。

《设计模式:.NET并行编程》适用于在.NET Framework上编写托管代码的程序员,包括在Visual C#、Visual Basic以及Visual F#上编写代码的程序员。《设计模式:.NET并行编程》不假定读者具有并行编程技术的预备知识。不过,读者需要熟悉C#的特征,如委托、lambda表达式、泛型以及语言集成查询(LINQ)表达式等。读者还至少应该对进程和线程的概念有基本的了解。

编辑推荐:
CPU计量器体现了一些问题。例如,某个内核的使用率为100%,而其他内核都是空闲的。或者你的应用程序是计算密集型的(即要占用大量CPU资源),但你只使用了多核系统的一部分计算能力。如何解决这些问题呢?简而言之,答案就是并行编程。像所有程序员一样,你可能熟谙编写顺序代码之道,但你会发现现在它不再满足你的性能要求了。要想有效地使用系统的CPU资源,必须把应用程序分割成块,这样应用程序就可以在同一时间运行。这说起来容易做起来难。并行编程被誉为专家领域,它难以重现软件缺陷。每个程序员似乎都有一些关于并行编程的趣事,可能由于某个神秘的错误,程序并没有像预期那样运行。在你编写并行程序时,这些故事应该能帮助你正视面临的问题和困难。幸运的是,微软给大家带来了帮助。.NETFramework4引入了一种新的编程模型,大大简化了并行工作。其后台是复杂算法的支持库,在多核架构中动态分配计算。此外,VisualStudi02010开发系统还包含调试和分析工具,以支持新的并行编程模型。而另一个帮助来源则是成熟的设计模式。本书借助任务并行库(TPL)和并行语言集成查询(PLINQ),介绍了最重要和最常用的并行编程模型,并给出了这些模型的可执行代码示例。

资源目录:

第1章 导论
1.1 潜在并行性的重要性
1.2 分解、协调和可扩展共享
1.2.1 了解任务
1.2.2 协调任务
1.2.3 数据的可扩展共享
1.2.4 设计方法
1.3 选择恰当的模式
1.4 关于术语
1.5 并行性的极限
1.6 一些技巧
1.7 练习
1.8 扩展阅读

第2章 并行循环
2.1 基础知识
2.1.1 并行for循环
2.1.2 并行foreach循环
2.1.3 并行linq(plinq)
2.1.4 预期
2.2 示例
2.2.1 信贷审查的顺序版本示例
2.2.2 使用parallel.foreach的信贷审查示例
2.2.3 plinq信贷审查示例
2.2.4 性能比较
2.3 变化形式
2.3.1 尽早中断循环
2.3.2 外部循环取消
2.3.3 异常处理
2.3.4 小循环体的特殊处理
2.3.5 控制并行度
2.3.6 在循环体中使用局部任务状态
2.3.7 对并行循环使用自定义的任务调度程序
2.4 反模式
2.4.1 步长不为一
2.4.2 隐藏的循环体依赖
2.4.3 少量迭代的小循环体
2.4.4 处理器的超额申请和申请不足
2.4.5 混合parallel类和plinq
2.4.6 输入枚举中的重复
2.5 设计说明
2.5.1 自适应分区
2.5.2 自适应并发
2.5.3 支持嵌套循环和服务器应用程序
2.6 相关模式
2.7 练习
2.8 扩展阅读

第3章 并行任务
3.1 基础知识
3.2 示例
3.3 变化形式
3.3.1 取消任务
3.3.2 处理异常
3.3.3 等待第一个任务完成
3.3.4 推测执行
3.3.5 使用自定义的调度方式创建任务
3.4 反模式
3.4.1 闭包捕获的变量
3.4.2 清理任务所需要的资源
3.4.3 避免撤销线程
3.5 设计说明
3.5.1 任务和线程
3.5.2 任务生命周期
3.5.3 编写自定义的任务调度程序
3.5.4 未观测到的任务异常
3.5.5 数据并行性和任务并行性之间的关系
3.6 默认任务调度程序
3.6.1 线程池
3.6.2 分散管理的调度技术
3.6.3 workstealing策略
3.6.4 全局队列中的顶层任务
3.6.5 局部队列中的子任务
3.6.6 子任务的内联执行
3.6.7 线程注入
3.6.8 绕过线程池
3.7 练习
3.8 扩展阅读

第4章 并行合并计算
4.1 基础知识
4.2 示例
4.3 变化形式
4.3.1 使用并行循环进行合并计算
4.3.2 使用范围分割器进行合并计算
4.3.3 使用带有范围选择的plinq合并计算
4.4 设计说明
4.5 相关的模式
4.6 练习
4.7 扩展阅读

第5章 future模式
5.1 基础知识
5.1.1 future
5.1.2 延续任务
5.2 示例:adatum金融仪表板
5.2.1 业务对象
5.2.2 分析引擎
5.2.3 视图和视图模型
5.3 变化形式
5.3.1 取消future和延续任务
5.3.2 拥有多个先行任务的情况
5.3.3 使用.net异步调用和future
5.3.4 消除瓶颈
5.3.5 运行时修改图
5.4 设计说明
5.4.1 分解成future和延续任务
5.4.2 函数式风格
5.5 相关的模式
5.5.1 流水线模式
5.5.2 主/从(master/worker)模式
5.5.3 动态任务并行模式
5.5.4 离散事件模式
5.6 练习
5.7 扩展阅读

第6章 动态任务并行
6.1 基础
6.2 示例
6.3 变化形式
6.3.1 while-not-empty并行
6.3.2 任务链与父子任务
6.4 设计说明
6.5 练习
6.6 扩展阅读

第7章 流水线
7.1 基础
7.2 示例
7.2.1 顺序图像处理
7.2.2 图像流水线
7.2.3 运行特性
7.3 变化形式
7.3.1 取消流水线
7.3.2 处理流水线异常
7.3.3 利用多个生产者实现负载平衡
7.3.4 流水线和流
7.3.5 异步流水线
7.4 反模式
7.4.1 线程饥饿
7.4.2 阻塞集合无穷等待
7.4.3 忘记getconsumingenumerable()方法
7.4.4 采用其他生产者/消费者集合
7.5 设计说明
7.6 相关模式
7.7 练习
7.8 扩展阅读
附录a 改写面向对象模式
附录b 调试和分析并行应用程序
附录c 技术概览
术语表
参考文献

资源截图:

设计模式:.NET并行编程_NET教程

资源下载此资源仅限注册用户下载,请先
由于本站资源来源于互联网,以研究交流为目的,所有仅供大家参考、学习,不存在任何商业目的与商业用途,如资源存在BUG以及其他任何问题,请自行解决,本站不提供技术服务! 由于资源为虚拟可复制性,下载后不予退积分和退款,谢谢您的支持!如遇到失效或错误的下载链接请联系客服QQ:442469558

:本文采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可, 转载请附上原文出处链接。
1、本站提供的源码不保证资源的完整性以及安全性,不附带任何技术服务!
2、本站提供的模板、软件工具等其他资源,均不包含技术服务,请大家谅解!
3、本站提供的资源仅供下载者参考学习,请勿用于任何商业用途,请24小时内删除!
4、如需商用,请购买正版,由于未及时购买正版发生的侵权行为,与本站无关。
5、本站部分资源存放于百度网盘或其他网盘中,请提前注册好百度网盘账号,下载安装百度网盘客户端或其他网盘客户端进行下载;
6、本站部分资源文件是经压缩后的,请下载后安装解压软件,推荐使用WinRAR和7-Zip解压软件。
7、如果本站提供的资源侵犯到了您的权益,请邮件联系: 442469558@qq.com 进行处理!

猪小侠源码-最新源码下载平台 NET教程 设计模式:.NET并行编程_NET教程 http://www.20zxx.cn/45309/xuexijiaocheng/bga.html

猪小侠源码,优质资源分享网

常见问题
  • 本站所有资源版权均属于原作者所有,均只能用于参考学习,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担
查看详情
  • 最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,建议提前注册好百度网盘账号,使用百度网盘客户端下载
查看详情

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务