.NET 並發編程實戰

Riccardo Terrell 葉偉民譯

  • .NET 並發編程實戰-preview-1
  • .NET 並發編程實戰-preview-2
  • .NET 並發編程實戰-preview-3
.NET 並發編程實戰-preview-1

買這商品的人也買了...

相關主題

商品描述

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

作者簡介

Riccardo Terrell

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

譯者簡介

葉偉民

廣州.NET技術俱樂部主席、中國香港Azure/.NET技術俱樂部創始人兼主席、.NET社區聯盟建設者,在.NET編程領域有15年工作經驗。

目錄大綱

第Ⅰ部分 函數式編程在並發程序中所體現的優勢
第1章 函數式並發基礎
1.1 你將從本書中學到什麼
1.2 讓我們從術語開始
1.2.1 順序編程——一次執行一個任務
1.2.2 並發編程——同時運行多個任務
1.2.3 並行編程——同時執行多個任務
1.2.4 多任務處理——同時在一段時間內執行多個任務
1.2.5 多線程性能調優
1.3 為什麼需要並發
1.4 並發編程的陷阱
1.4.1 並發的危害
1.4.2 共享狀態的演變
1.4.3 一個簡單的真實示例:並行快速排序
1.4.4 F#中的基準測試
1.5 為什麼選擇函數式編程實現並發
1.6 擁抱函數式範式
1.7 為什麼選擇F#和C#進行函數式並發編程
1.8 本章小結
第2章 並發函數式編程技術
2.1 使用函數組合解決覆雜的問題
2.1.1 C#的函數組合
2.1.2 F#的函數組合
2.2 閉包簡化函數式思考
2.2.1 使用lambda表達式捕獲閉包中的變量
2.2.2 多線程環境中的閉包
2.3 用於程序加速的記憶化緩存技術
2.4 記憶快速網絡爬蟲的操作
2.5 延遲記憶化以獲得更好的性能
2.6 有效率的並行推測以攤銷昂貴計算成本
2.6.1 具有天然函數支持的預計算
2.6.2 使最佳計算獲勝
2.7 延遲是件好事情
2.7.1 對嚴格求值語言並發行為的理解
2.7.2 延遲緩存技術和線程安全的單例模式
2.7.3 F#中的延遲支持
2.7.4 延遲和任務,一個強大的組合
2.8 本章小結
第3章 函數式數據結構和不可變性
3.1 真實世界的例子:捕獵線程不安全的對象
3.1.1 .NET不可變集合:一種安全的解決方案
3.1.2 .NET並發集合:更快的解決方案
3.1.3 代理消息傳遞模式:更快、更好的解決方案
3.2 在線程之間安全地共享函數式數據結構
3.3 修改的不可變性
3.3.1 數據並行的函數式數據結構
3.3.2 使用不可變性的性能影響
3.3.3 C#的不可變性
3.3.4 F#的不可變性
3.3.5 函數式列表:連接一條鏈中的單元格
3.3.6 構建可持久化數據結構:不可變二叉樹
3.4 遞歸函數:一種自然的疊代方式
3.4.1 正確遞歸函數尾部:尾部調用優化
3.4.2 延續傳遞風格以優化遞歸函數
3.5 本章小結
第Ⅱ部分 如何處理並發程序的不同部分
第4章 處理大數據的基礎:數據並行,第1部分
第5章 PLINQ和MapReduce:數據並行,第2部分
第6章 實時事件流:函數式反應式編程
第7章 基於任務的函數式並行
第8章 最終勝出的任務異步模型
第9章 F#的異步函數編程
第10章 用於流暢式並發編程的函數式組合器
第11章 使用代理應用反應式編程
第12章 使用TPLDataflow的並行工作流與代理編程
第Ⅲ部分 現代並發編程模式應用
第13章 成功的並發編程的配方和設計模式
第14章 使用並發函數式編程構建可擴展的移動應用程序
附錄A 函數式編程
附錄B F#概述
附錄C F#異步工作流和.NET Task之間的互操作性