婷婷五月情,国产精品久久久久久亚洲小说,runaway韩国电影免费完整版,国产乱在线观看视频,日韩精品首页,欧美在线视频二区

歡迎光臨中圖網 請 | 注冊
> >>
.NET開發經典名著.NET并發編程實戰

包郵 .NET開發經典名著.NET并發編程實戰

出版社:清華大學出版社出版時間:2020-05-01
開本: 其他 頁數: 538
中 圖 價:¥70.4(5.5折) 定價  ¥128.0 登錄后可看到會員價
加入購物車 收藏
開年大促, 全場包郵
?新疆、西藏除外
本類五星書更多>
買過本商品的人還買了

.NET開發經典名著.NET并發編程實戰 版權信息

  • ISBN:9787302549598
  • 條形碼:9787302549598 ; 978-7-302-54959-8
  • 裝幀:平裝-膠訂
  • 冊數:暫無
  • 重量:暫無
  • 所屬分類:>>

.NET開發經典名著.NET并發編程實戰 本書特色

要充分釋放你的多處理器計算機的卓越性能,這樣并發應用程序會運行得更快,因為它們跨處理器內核分散工作,同時執行多個任務。.NET平臺上的現代化工具和技術(包括并行 LINQ、函數式編程、異步編程和任務并行庫)十分強大,替代了傳統的基于線程的并發解決方案。 《.NET并發編程實戰》一書將教你編寫代碼以提供性能敏感型應用程序所需的速度。本書以 C# 和 F# 中的示例指導你完成在理論和實踐上強調函數式編程的并發和并行設計。你將從并發的基礎開始,掌握基本技術和設計實踐,以優化在現代多處理器系統上運行的代碼。

.NET開發經典名著.NET并發編程實戰 內容簡介

圖書內容 ●  很重要的并發抽象 ●  采用代理編程模型 ●  實現實時事件流處理 ●  執行無邊界異步操作 ●  適用于所有平臺的很好并發實踐和模式

.NET開發經典名著.NET并發編程實戰 目錄

第Ⅰ部分 函數式編程在并發程序中所體現的優勢 第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 有效率的并行推測以攤銷昂貴計算成本 47 2.6.1 具有天然函數支持的預計算 50 2.6.2 使*佳計算獲勝 51 2.7 延遲是件好事情 52 2.7.1 對嚴格求值語言并發行為的理解 52 2.7.2 延遲緩存技術和線程安全的單例模式 54 2.7.3 F#中的延遲支持 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.3 C#的不可變性 76 3.3.4 F#的不可變性 79 3.3.5 函數式列表:連接一條鏈中的單元格 80 3.3.6 構建可持久化數據結構:不可變二叉樹 86 3.4 遞歸函數:一種自然的迭代方式 89 3.4.1 正確遞歸函數尾部:尾部調用優化 90 3.4.2 延續傳遞風格以優化遞歸函數 91 3.5 本章小結 95 第Ⅱ部分 如何處理并發程序的不同部分 第4章 處理大數據的基礎:數據并行,第1部分 99 4.1 什么是數據并行 100 4.1.1 數據和任務并行 101 4.1.2 “尷尬并行”概念 102 4.1.3 .NET中的數據并行支持 102 4.2 Fork / Join模式:并行Mandelbrot 103 4.2.1 當GC是瓶頸時:結構與類對象 109 4.2.2 并行循環的缺點 111 4.3 測量性能速度 111 4.3.1 Amdahl定律定義了性能改進的極限 112 4.3.2 Gustafson定律:進一步衡量性能改進 113 4.3.3 并行循環的局限性:素數之和 113 4.3.4 簡單循環可能會出現什么問題 115 4.3.5 聲明式并行編程模型 117 4.4 本章小結 118 第5章 PLINQ和MapReduce:數據并行,第2部分 121 5.1 PLINQ簡介 122 5.1.1 PLINQ如何更具函數式 123 5.1.2 PLINQ和純函數:并行字計數器 123 5.1.3 使用純函數避免副作用 125 5.1.4 隔離和控制副作用:重構并行字計數器 127 5.2 并行聚合和歸約數據 128 5.2.1 擇伐(Deforesting):折疊的諸多優點之一 130 5.2.2 PLINQ中的fold:Aggregate函數 131 5.2.3 為PLINQ實現并行Reduce函數 137 5.2.4 F#的并行列表解析:PSeq 139 5.2.5 F#的并行數組 140 5.3 并行MapReduce模式 142 5.3.1 Map和Reduce函數 143 5.3.2 在NuGet 包庫中使用 MapReduce 144 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 從LINQ/PLINQ到Rx 162 6.3.2 IObservable:對偶IEnumerable 163 6.3.3 Action中的反應式擴展 164 6.3.4 Rx實時流 165 6.3.5 從事件到F# Observable 166 6.4 馴服事件流:使用Rx編程進行Twitter情緒分析 167 6.5 Rx發布者-訂閱者 176 6.5.1 為強大的發布者-訂閱者集線器使用Subject類型 176 6.5.2 與并發相關的Rx 177 6.5.3 實現可重用的Rx發布者-訂閱者 178 6.5.4 使用Rx Pub-Sub類分析推文情緒 180 6.5.5 action中的觀察者 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.3 C# void的問題 196 7.4 延續傳遞風格(CPS):函數式控制流程 198 7.4.1 為什么要利用CPS 199 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 可擴展性和異步編程 223 8.1.3 CPU密集型和I/O密集型操作 223 8.2 異步編程不受限制的并行度 224 8.3 .NET的異步支持 225 8.3.1 異步編程會破壞代碼結構 228 8.3.2 基于事件的異步編程 228 8.4 C#基于任務的異步編程 229 8.4.1 匿名異步lambda 232 8.4.2 Task是一個monadic容器 232 8.5 基于任務的異步編程:案例研究 235 8.5.1 異步取消 240 8.5.2 帶有monadic Bind運算符的基于任務的異步組合 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 異步工作流操作:Azure Blob存儲并行操作 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.Parallel 269 9.3.6 異步工作流取消支持 274 9.3.7 馴服并行異步操作 276 9.4 本章小結 280 第10章 用于流暢式并發編程的函數式組合器 281 10.1 執行流并不總是處于正常情況:錯誤處理 282 10.2 錯誤組合器:C#中的Retry、Otherwise和Task.Catch 285 10.2.1 FP中的錯誤處理:流控制的異常 289 10.2.2 在C#中使用Task>處理錯誤 291 10.2.3 F# AsyncOption類型:組合Async和Option 291 10.2.4 F#慣用的函數式異步錯誤處理 292 10.2.5 使用Result類型保留異常語義 294 10.3 在異步操作中控制異常 298 10.3.1 F#使用Async和Result 建模錯誤處理 302 10.3.2 使用monadic運算符bind擴展F# AsyncResult類型 304 10.4 使用函數式組合器抽象化操作 308 10.5 函數式組合器概要 309 10.5.1 TPL內置異步組合器 310 10.5.2 利用Task.WhenAny組合器實現冗余和交叉 311 10.5.3 使用Task.WhenAll組合器進行異步for-each 312 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 第11章 使用代理應用反應式編程 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.4 F#代理:MailboxProcessor 349 11.5 使用F# MailboxProcessor避免數據庫瓶頸 352 11.5.1 MailboxProcessor消息類型:可區分聯合 355 11.5.2 MailboxProcessor雙向通信 356 11.5.3 在C#中使用AgentSQL 357 11.5.4 成組協調代理來并行工作流 358 11.5.5 如何使用F# MailboxProcessor處理錯誤 360 11.5.6 停止MailboxProcessor代理——CancellationToken 361 11.5.7 使用MailboxProcessor分發工作 362 11.5.8 使用代理緩存操作 364 11.5.9 由MailboxProcessor報告結果 368 11.5.10 使用線程池報告來自MailboxProcessor的事件 371 11.6 F# MailboxProcessor:10 000個代理的生命游戲 371 11.7 本章小結 376 第12章 使用TPL Dataflow的并行工作流與代理編程 379 12.1 TPL Dataflow的強大性 380 12.2 組合式設計:TPL Dataflow塊 381 12.2.1 使用BufferBlock作為FIFO緩沖區 382 12.2.2 使用TransformBlock轉換數據 383 12.2.3 使用ActionBlock完成工作 384 12.2.4 連接數據流塊 385 12.3 使用TDF實現復雜的生產者/消費者 386 12.3.1 多生產者/單消費者模式 386 12.3.2 單生產者/多消費者模式 387 12.4 使用TPL Dataflow在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 組合Reactive Extensions(Rx)和TDF 406 12.6 本章小結 407 第Ⅲ部分 現代并發編程模式應用 第13章 成功的并發編程的配方和設計模式 411 13.1 循環利用對象以減少內存消耗 412 13.2 自定義并行Fork/Join運算符 415 13.3 并行具有依賴關系的任務:設計代碼以優化性能 418 13.4 用于協調并發I/O操作共享資源的閘門:一次寫入,多次讀取 423 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 第14章 使用并發函數式編程構建可擴展的移動應用程序 467 14.1 現實世界服務器上的函數式編程 468 14.2 如何設計一個成功的高性能應用程序 469 14.2.1 秘制醬:ACD 470 14.2.2 不同的異步模式:將工作排隊以稍后執行 470 14.3 選擇正確的并發編程模型 472 14.4 實時交易:股票市場示例的高層架構 475 14.5 股票市場應用程序的基本要素 479 14.6 編寫股票市場交易應用程序 479 14.7 本章小結 501 附錄A 函數式編程 503 附錄B F#概述 517 附錄C F#異步工作流和.NET Task之間的互操作性 535
展開全部

.NET開發經典名著.NET并發編程實戰 作者簡介

Riccardo Terrell是一位經驗豐富的軟件工程師和微軟 MVP,他熱衷于函數式編程。Riccardo在競爭激烈的商業環境中提供具有高商業價值的技術解決方案方面擁有超過20年的經驗。
1998年,Riccardo在意大利創辦了自己的軟件公司,專門為客戶提供定制的醫療軟件。2007年,Riccardo移居美國,此后一直擔任. NET高級軟件開發人員和高級軟件架構師,在業務環境中提供經濟高效的技術解決方案。Riccardo致力于集成先進技術工具,以讓組織內部溝通更高效,提高工作效率并降低運營成本。
他積極參與函數式編程社區,包括.NET會議和國際會議并廣為人知。Riccardo相信多種范式混合編程是能夠最大限度地發揮代碼力量的一種機制。
葉偉民
廣州.NET技術俱樂部主席、中國香港Azure/.NET技術俱樂部創始人兼主席、.NET社區聯盟建設者,在.NET編程領域有15年工作經驗。

商品評論(0條)
暫無評論……
書友推薦
編輯推薦
返回頂部
中圖網
在線客服
主站蜘蛛池模板: 五月玖玖 | 欧美高清在线视频在线99精品 | 精品国产欧美 | 久久伊人最新 | 国产99久9在线视频 国产99精品在线观看 | 漂亮的保姆4 | 蜜臀导航 | 免费一级毛片视频 | 国产美女一区 | 奇米777四色影视 | 色激情综合| 不卡一区二区在线 | 五月激情丁香网 | 日韩欧美视频一区二区 | 国产高清毛片 | 91精品国产9l久久久久 | 国产成人精品免费 | 国产羞羞视频在线观看 | 欧美11一12周岁a在线观看 | 国产一级国产一级碟片60分钟 | 狠狠狠综合色 | 成人日韩精品 | 久久99热精品 | 第一页在线观看 | 欧美成人免费草草影院 | 国产精品…在线观看 | 2019天天操天天干天天透 | 欧美老妇69交| 婷婷六月色 | 久久精品2| 特送在线观看完整高清免费版 | 欧美一级做 | 国产精品精品国产一区二区 | 亚洲天堂成人在线 | 久久天天 | 啪啪免费网站入口链接 | 国产99久久久国产精品免费直播 | 亚洲高清中文字幕精品不卡 | 国产无套露脸视频在线观看 | 国产欧美日韩高清专区手机版 | 国产91色综合久久免费分享 |