返回首页
苏宁会员
购物车 0
易付宝
手机苏宁

服务体验

店铺评分与同行业相比

用户评价:----

物流时效:----

售后服务:----

  • 服务承诺: 正品保障
  • 公司名称:
  • 所 在 地:
本店所有商品

  • 醉染图书.NET并发编程实战9787302549598
  • 正版全新
    • 作者: (美)里卡尔多·特雷尔(Riccardo Terrell)著 | (美)里卡尔多·特雷尔(Riccardo Terrell)编 | (美)里卡尔多·特雷尔(Riccardo Terrell)译 | (美)里卡尔多·特雷尔(Riccardo Terrell)绘
    • 出版社: 清华大学出版社
    • 出版时间:2020-05-01
    送至
  • 由""直接销售和发货,并提供售后服务
  • 加入购物车 购买电子书
    服务

    看了又看

    商品预定流程:

    查看大图
    /
    ×

    苏宁商家

    商家:
    醉染图书旗舰店
    联系:
    • 商品

    • 服务

    • 物流

    搜索店内商品

    商品参数
    • 作者: (美)里卡尔多·特雷尔(Riccardo Terrell)著| (美)里卡尔多·特雷尔(Riccardo Terrell)编| (美)里卡尔多·特雷尔(Riccardo Terrell)译| (美)里卡尔多·特雷尔(Riccardo Terrell)绘
    • 出版社:清华大学出版社
    • 出版时间:2020-05-01
    • 版次:1
    • 印次:1
    • 字数:632000
    • 页数:538
    • 开本:16开
    • ISBN:9787302549598
    • 版权提供:清华大学出版社
    • 作者:(美)里卡尔多·特雷尔(Riccardo Terrell)
    • 著:(美)里卡尔多·特雷尔(Riccardo Terrell)
    • 装帧:平装
    • 印次:1
    • 定价:128.00
    • ISBN:9787302549598
    • 出版社:清华大学出版社
    • 开本:16开
    • 印刷时间:暂无
    • 语种:暂无
    • 出版时间:2020-05-01
    • 页数:538
    • 外部编号:1202067470
    • 版次:1
    • 成品尺寸:暂无

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

    章函数式并发基础3

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

    1.2让我们从术语开始5

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

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

    1..并行编程——同时执行多个任务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.4F#中的基准测试21

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

    1.6拥抱函数式范式24

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

    1.8本章小结27

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

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

    2.1.1C#的函数组合30

    2.1.2F#的函数组合32

    2.2闭包简化函数式思考33

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

    2.2.2多线程环境中的闭包36

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

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

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

    2.6的并行推测以摊销昂贵计算成本47

    2.6.1具有天然函数支持的预计算50

    2.6.2使很好计算获胜51

    2.7延迟是件好事情52

    2.7.1对严格求值语言并发行为的理解52

    2.7.2延迟缓存技术和线程安全的单例模式54

    2.7.3F#中的延迟支持55

    2.7.4延迟和任务,一个强大的组合55

    2.8本章小结57

    第3章函数式数据结构和不可变59

    3.1真实世界的例子:捕猎线程不安全的对象60

    3.1.1.NET不可变集合:一种安全的解决方案63

    3.1.2.NET并发集合:更快的解决方案67

    3.1.3代理消息传递模式:更快、更好的解决方案69

    3.2在线程之间安全地共享函数式数据结构72

    3.3修改的不可变73

    3.3.1数据并行的函数式数据结构75

    3.3.2使用不可变的能影响75

    3.3.3C#的不可变76

    3.3.4F#的不可变79

    3.3.5函数式列表:连接一条链中的单元格80

    3.3.6构建可持久化数据结构:不可变二叉树86

    3.4递归函数:一种自然的迭代方式89

    3.4.1正确递归函数尾部:尾部调用优化90

    3.4.2延续传递风格以优化递归函数91

    3.5本章小结95

    第Ⅱ部分如何处理并发程序的不同部分

    第4章处理大数据的基础:数据并行,部分99

    4.1什么是数据并行100

    4.1.1数据和任务并行101

    4.1.2“尴尬并行”概念102

    4.1.3.NET中的数据并行支持102

    4.2Fork/Join模式:并行Mandelbrt03

    4.2.1当GC是瓶颈时:结构与类对象109

    4.2.2并行循环的缺点111

    4.3测量能速度111

    4.3.1Amdahl定律定义了能改进的极限112

    4.3.2Gustafson定律:进一步衡量能改进113

    4.3.3并行循环的局限:素数之和113

    4.3.4简单循环可能会出现什么问题115

    4.3.5声明式并行编程模型117

    4.4本章小结118

    第5章PLIN和MapReduce:数据并行,第2部分121

    5.1PLIN简介22

    5.1.1PLIN如何更具函数式1

    5.1.2PLIN和纯函数:并行字器1

    5.1.3使用纯函数避免副作用125

    5.1.4隔离和控制副作用:重构并行字器127

    5.2并行聚合和归约数据128

    5.2.1择伐(Deforesting):折叠的诸多优点之一130

    5.2.2PLIN中的fold:Aggregate函数131

    5..为PLIN实现并行Reduce函数137

    5.2.4F#的并行列表解析:PSeq139

    5.2.5F#的并行数组140

    5.3并行MapReduce模式142

    5.3.1Map和Reduce函数143

    5.3.2在NuGet包库中使用MapReduce144

    5.4本章小结149

    第6章实时事件流:函数式反应式编程151

    6.1反应式编程:大事件处理152

    6.2用于反应式编程的.NET工具155

    6.2.1事件组合器——更好的解决方案156

    6.2.2.NET与F#组合器的互操作157

    6.3.NET中的反应式编程:反应式扩展(Rx)160

    6.3.1从LIN/PLIN到Rx162

    6.3.2IObservable:对偶IEnumerable163

    6.3.3Action中的反应式扩展164

    6.3.4Rx实时流165

    6.3.5从事件到F#Observable166

    6.4驯服事件流:使用R编程行Twitter情绪分析167

    6.5Rx发布者-订阅者176

    6.5.1为强大的发布者-订阅者集线器使用Subject类型176

    6.5.2与并发相关的Rx177

    6.5.3实现可重用的Rx发布者-订阅者178

    6.5.4使用RxPub-Sub类分析推文情绪180

    6.5.5action中的观察者183

    6.5.6方便的F#对象表达式184

    6.6本章小结184

    第7章基于任务的函数式并行187

    7.1任务并行的简短介绍188

    7.1.1为什么要进行任务并行和函数式编程189

    7.1.2.NET中的任务并行化支持189

    7.2.NET任务并行库191

    7.3C#void的问题196

    7.4延续传递风格(CPS):函数式控制流程198

    7.4.1为什么要利用CPS199

    7.4.2等待任务完成:延续模型200

    7.5组合任务操作的策略205

    7.5.1使用数学模式以获得更好的组合207

    7.5.2任务使用准则212

    7.6并行函数式管道模式212

    7.7本章小结218

    第8章胜出的任务异步模型219

    8.1异步编程模型(APM)220

    8.1.1异步编程的价值220

    8.1.2可扩展和异步编程2

    8.1.3CPU密集型和I/O密集型操作2

    8.2异步编程不受的并行度224

    8.3.NET的异步支持225

    8.3.1异步编程会破坏代码结构228

    8.3.2基于事件的异步编程228

    8.4C#基于任务的异步编程229

    8.4.1匿名异步lambda2

    8.4.2Task是一个monadic容器2

    8.5基于任务的异步编程:案例研究5

    8.5.1异步取消240

    8.5.2带有monadicBind运算符的基于任务的异步组合244

    8.5.3延迟异步计算以实现组合245

    8.5.4如果出现问题,请重试246

    8.5.5异步操作的错误处理247

    8.5.6市场历史的异步并行处理249

    8.5.7任务完成后的异步市场并行处理251

    8.6本章小结252

    第9章F#的异步函数编程253

    9.1异步函数式方面254

    9.2什么是F#异步工作流254

    9.2.1计算表达式中的延续传递风格254

    9.2.2异步工作流操作:AzureBlob存储并行操作257

    9.3异步计算表达式261

    9.3.1计算表达式和单子之间的区别263

    9.3.2异步重试:生成自己的计算表达式264

    9.3.3扩展异步工作流266

    9.3.4映异步操作:Async.map函子267

    9.3.5并行化异步工作流:Async.Parallel269

    9.3.6异步工作流取消支持274

    9.3.7驯服并行异步操作276

    9.4本章小结280

    0章用于流畅式并发编程的函数式组合器281

    10.1执行流并不总是处于正常情况:错误处理282

    10.2错误组合器:C#中的Retry、Otherwise和Task.Catch285

    10.2.1FP中的错误处理:流控制的异常289

    10.2.2在C#中使用Task>处理错误291

    10..F#AsyncOption类型:组合Async和Option291

    10.2.4F#惯用的函数式异步错误处理292

    10.2.5使用Result类型保留异常语义294

    10.3在异步操作中控制异常298

    10.3.1F#使用Async和Result建模错误处理302

    10.3.2使用monadic运算符bind扩展F#AsyncResult类型304

    10.4使用函数式组合器抽象化操作308

    10.5函数式组合器概要309

    10.5.1TPL内置异步组合器310

    10.5.2利用Task.WhenAny组合器实现冗余和交叉311

    10.5.3使用Task.WhenAll组合器进行异步for-each312

    10.5.4回顾迄今看到的数学模式314

    10.6的并行组合应用函子317

    10.6.1使用应用函子运算符扩展F#异步工作流324

    10.6.2带有中缀运算符的F#应用函子语义326

    10.6.3利用应用函子实现异构并行计算326

    10.6.4组合和执行异构并行计算328

    10.6.5使用条件异步组合器控制流330

    10.6.6运用异步组合器334

    10.7本章小结336

    1章使用代理应用反应式编程339

    11.1什么是反应式编程340

    11.2异步消息传递编程模型342

    11.2.1消息传递和不可变的关系344

    11.2.2天然隔离344

    11.3代理是什么345

    11.3.1代理的组件346

    11.3.2代理可以做什么347

    11.3.3无锁并发编程的无共享方法347

    11.3.4基于代理的编程如何体现函数式思想348

    11.3.5代理是面向对象的349

    11.4F#代理:MailboxProcessor349

    11.5使用F#MailboxProcessor避免数据库瓶颈352

    11.5.1MailboxProcessor消息类型:可区分联合355

    11.5.2MailboxProcessor双向通信356

    11.5.3在C#中使用AgentSL37

    11.5.4成组协调代理来并行工作流358

    11.5.5如何使用F#MailboxProcessor处理错误360

    11.5.6停止MailboxProcessor代理——CancellationToken361

    11.5.7使用MailboxProcessor分发工作362

    11.5.8使用代理缓存操作364

    11.5.9由MailboxProcessor报告结果368

    11.5.10使用线程池报告来自MailboxProcessor的事件371

    11.6F#MailboxProcessr:0000个代理的生命游戏371

    11.7本章小结376

    2章使用TPLDataflow的并行工作流与代理编程379

    12.1TPLDataflow的强大30

    12.2组合式设计:TPLDataflow块381

    12.2.1使用BufferBlock作为FIFO缓冲区382

    12.2.2使用TransformBlock转换数据383

    12..使用ActionBlock完成工作384

    12.2.4连接数据流块385

    1.使用TDF实现复杂的生产者/消费者386

    1..1多生产者/单消费者模式386

    1..2单生产者/多消费者模式387

    12.4使用TPLDataflow在C#中启用代理模型388

    12.4.1代理折叠状态和消息:聚合392

    12.4.2代理交互:并行单词器392

    12.5压缩和加密大型流的并行工作流397

    12.5.1上下文:处理大型数据流的问题397

    12.5.2确保消息流的顺序完整402

    12.5.3连接、传播和完成403

    12.5.4构建TDF工作流的规则405

    12.5.5组合ReactiveExtensions(Rx)和TDF406

    12.6本章小结407

    第Ⅲ部分现代并发编程模式应用

    3章成功的并发编程的配方和设计模式411

    13.1循环利用对象以减少内存消耗412

    13.2自定义并行Fork/Join运算符415

    13.3并行具有依赖关系的任务:设计代码以优化能418

    13.4用于协调并发I/O操作共享资源的闸门:一次写入,多次读取4

    13.5线程安全的随机数生成器430

    13.6多态事件聚合器432

    13.7自定义Rx调度程序来控制并行度435

    13.8并发的反应式可扩展客户端/服务器438

    13.9可复用的自定义高能并行filter-map运算符448

    13.10无阻塞同步消息传递模型452

    13.11使用代理编程模型协调并发作业457

    13.12组合monadic函数462

    13.13本章小结465

    4章使用并发函数式编程构建可扩展的移动应用程序467

    14.1现实世界服务器上的函数式编程468

    14.2如何设计一个成功的高能应程序469

    14.2.1秘制酱:ACD470

    14.2.2不同的异步模式:将工作排队以稍后执行470

    14.3选择正确的并发编程模型472

    14.4实时交易:市场示例的高层架构475

    14.5市场应用程序的基本要素479

    14.6编写市场交易应用程序479

    14.7本章小结501

    附录A函数式编程503

    附录BF#概述517

    附录CF#异步工作流和.NETTask之间的互操作535

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


    叶伟民
    广州.NET技术俱乐部、中国香港Azure/.NET技术俱乐部创始人兼、.NET社区联盟建设者,在.NET编程领域有15年工作经验。
    "

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

    售后保障

    最近浏览

    猜你喜欢

    该商品在当前城市正在进行 促销

    注:参加抢购将不再享受其他优惠活动

    x
    您已成功将商品加入收藏夹

    查看我的收藏夹

    确定

    非常抱歉,您前期未参加预订活动,
    无法支付尾款哦!

    关闭

    抱歉,您暂无任性付资格

    此时为正式期SUPER会员专享抢购期,普通会员暂不可抢购