.NET并发编程实战
Riccardo Terrell和叶伟民 教你编写代码以提供性能敏感型应用程序所需的速度。

作者:[美] 里卡尔多·特雷尔(Riccardo Terrell)著 叶伟民 译

丛书名:开源.NET生态软件开发

定价:128元

印次:1-2

ISBN:9787302549598

出版日期:2020.05.01

印刷日期:2024.04.29

图书责编:王军

图书分类:零售

电子书
在线购买
分享
内容简介
作者简介
前言序言
资源下载
查看详情 查看详情 查看详情

图书内容 ● 最重要的并发抽象 ● 采用代理编程模型 ● 实现实时事件流处理 ● 执行无边界异步操作 ● 适用于所有平台的最佳并发实践和模式

Riccardo Terrell是一位经验丰富的软件工程师和微软 MVP,他热衷于函数式编程。Riccardo在竞争激烈的商业环境中提供具有高商业价值的技术解决方案方面拥有超过20年的经验。1998年,Riccardo在意大利创办了自己的软件公司,专门为客户提供定制的医疗软件。2007年,Riccardo移居美国,此后一直担任. NET高级软件开发人员和高级软件架构师,在业务环境中提供经济高效的技术解决方案。Riccardo致力于集成先进技术工具,以让组织内部沟通更高效,提高工作效率并降低运营成本。他积极参与函数式编程社区,包括.NET会议和国际会议并广为人知。Riccardo相信多种范式混合编程是能够最大限度地发挥代码力量的一种机制。叶伟民广州.NET技术俱乐部主席、中国香港Azure/.NET技术俱乐部创始人兼主席、.NET社区联盟建设者,在.NET编程领域有15年工作经验。

前 言 你可能正在阅读这本《.NET并发编程实战》,因为你希望构建速度极快的应用程序,或者想学习如何显著提高现有应用程序的性能。你关心性能,因为你致力于生成更快的程序,而且当代码中的一些更改使应用程序更快,响应更快时,你会感到兴奋。并行编程为对新开发技术充满热情的开发人员提供了无限的可能性。当需要考虑性能时,无论怎么强调在编程中使用并行的好处也不为过。但是,使用命令式和面向对象的编程风格来编写并发代码会很复杂,并引入了复杂性。因此,并发编程并没有被广泛地作为一种常见的实践所接受,这迫使程序员去寻找其他解决方案。 上大学的时候,我学习了函数式编程课程。那时,我学习的是Haskell,尽管该语言学习曲线很陡峭,难度很高,但是我很享受该课程的每一节课。因为我记得当我看到第一个例子时,对其解决方案的优雅以及简单而感到惊讶。15年后,当我开始寻找利用并发来增强我的程序的解决方案时,我又想起这些课程。这一次,我能够充分地认识到函数式编程在设计我的日常程序时的强大和有用。使用函数式编程风格存在一些益处,我将在《.NET并发编程实战》中对这些益处逐一进行讨论。 当时,我需要为医保行业构建一个软件系统,我的学术研究与专业工作在这里重合了。该项目需要开发一个应用程序去分析放射性医学图像。图像处理需要图像降噪、高斯算法、图像插值和图像滤波等几个步骤才能将颜色应用于灰度图像。该应用程序是使用Java开发的,最初能够按预期运行。但是后来该部门增加了需求,这种情况经常发生,这时问题就开始出现了。虽然软件没有任何问题或错误,但随着要分析的图像数量的增加,它变得更慢了。 当然,对这个问题提出...

暂无课件

暂无样章

暂无网络资源

扫描二维码
下载APP了解更多

目录
荐语
查看详情 查看详情
目    录

 

 第Ⅰ部分  函数式编程在并发程序中所体现的优势 

第1章  函数式并发基础   3

1.1  你将从本书中学到什么   4

1.2  让我们从术语开始   5

1.2.1  顺序编程——一次执行一个任务   6

1.2.2  并发编程——同时运行多个任务   7

1.2.3  并行编程——同时执行多个任务   8

1.2.4  多任务处理——同时在一段时间内执行多个任务   9

1.2.5  多线程性能调优   10

1.3  为什么需要并发   11

1.4  并发编程的陷阱   14

1.4.1  并发的危害   14

1.4.2  共享状态的演变   17

1.4.3  一个简单的真实示例:并行快速排序   17

1.4.4  F#中的基准测试   21

1.5  为什么选择函数式编程实现并发   21

1.6  拥抱函数式范式   24

1.7  为什么选择F#和C#进行函数式并发编程   25

1.8  本章小结   27

第2章  并发函数式编程技术   29

2.1  使用函数组合解决复杂的问题   30

2.1.1  C#的函数组合   30

2.1.2  F#的函数组合   32

2.2  闭包简化函数式思考   33

2.2.1  使用lambda表达式捕获闭包中的变量   34

2.2.2  多线程环境中的闭包   36

2.3  用于程序加速的记忆化缓存技术   38

2.4  记忆快速网络爬虫的操作   42

2.5  延迟记忆化以获得更好的性能   46

2.6...

要充分释放你的多处理器计算机的卓越性能,这样并发应用程序会运行得更快,因为它们跨处理器内核分散工作,同时执行多个任务。.NET平台上的现代化工具和技术(包括并行 LINQ、函数式编程、异步编程和任务并行库)十分强大,替代了传统的基于线程的并发解决方案。
《.NET并发编程实战》一书将教你编写代码以提供性能敏感型应用程序所需的速度。本书以 C# 和 F# 中的示例指导你完成在理论和实践上强调函数式编程的并发和并行设计。你将从并发的基础开始,掌握基本技术和设计实践,以优化在现代多处理器系统上运行的代码。