C#多線程編程實戰(原書第2版)
本書內容
准備事項
讀者對象
下載示例代碼
1 線程基礎
1.1 簡介
1.2 使用C 創建線程
1.2.1 准備工作
1.2.2 實現方式
1.2.3 工作原理
1.3 暫停線程
1.3.1 准備工作
1.3.2 實現方式
1.3.3 工作原理
1.4 線程等待
1.4.1 准備工作
1.4.2 實現方式
1.4.3 工作原理
1.5 終止線程
1.5.1 准備工作
1.5.2 實現方式
1.5.3 工作原理
1.6 檢測線程狀態
1.6.1 准備工作
1.6.2 實現方式
1.6.3 工作原理
1.7 線程優先級
1.7.1 准備工作
1.7.2 實現方式
1.7.3 工作原理
1.8 前台線程和后台線程
1.8.1 准備工作
1.8.2 實現方式
1.8.3 工作原理
1.9 向線程傳遞參數
1.9.1 准備工作
1.9.2 實現方式
1.9.3 工作原理
1.9.4 更多信息
1.10 使用C 中的lock關鍵字
1.10.1 准備工作
1.10.2 實現方式
1.10.3 工作原理
1.11 使用Monitor類鎖定資源
1.11.1 准備工作
1.11.2 實現方式
1.11.3 工作原理
1.12 處理異常
1.12.1 准備工作
1.12.2 實現方式
1.12.3 工作原理
2 線程同步
2.1 簡介
2.2 執行基本的原子操作
2.2.1 准備工作
2.2.2 實現方式
2.2.3 工作原理
2.3 使用Mutex類
2.3.1 准備工作
2.3.2 實現方式
2.3.3 工作原理
2.4 使用SemaphoreSlim類
2.4.1 准備工作
2.4.2 實現方式
2.4.3 工作原理
2.4.4 更多信息
2.5 使用AutoResetEvent類
2.5.1 准備工作
2.5.2 實現方式
2.5.3 工作原理
2.6 使用ManualResetEventSlim類
2.6.1 准備工作
2.6.2 實現方式
2.6.3 工作原理
2.6.4 更多信息
2.7 使用CountDownEvent類
2.7.1 准備工作
2.7.2 實現方式
2.7.3 工作原理
2.8 使用Barrier類
2.8.1 准備工作
2.8.2 實現方式
2.8.3 工作原理
2.9 使用ReaderWriterLockSlim類
2.9.1 准備工作
2.9.2 實現方式
2.9.3 工作原理
2.10 使用SpinWait類
2.10.1 准備工作
2.10.2 實現方式
2.10.3 工作原理
3 使用線程池
3.1 簡介
3.2 在線程池中調用委托
3.2.1 准備工作
3.2.2 實現方式
3.2.3 工作原理
3.3 向線程池中放入異步操作
3.3.1 准備工作
3.3.2 實現方式
3.3.3 工作原理
3.4 線程池與並行度
3.4.1 准備工作
3.4.2 實現方式
3.4.3 工作原理
3.5 實現一個取消選項
3.5.1 准備工作
3.5.2 實現方式
3.5.3 工作原理
3.6 在線程池中使用等待事件處理器及超時
3.6.1 准備工作
3.6.2 實現方式
3.6.3 工作原理
3.6.4 更多信息
3.7 使用計時器
3.7.1 准備工作
3.7.2 實現方式
3.7.3 工作原理
3.8 使用BackgroundWorker組件
3.8.1 准備工作
3.8.2 實現方式
3.8.3 工作原理
4 使用任務並行庫
4.1 簡介
4.2 創建任務
4.2.1 准備工作
4.2.2 實現方式
4.2.3 工作原理
4.3 使用任務執行基本的操作
4.3.1 准備工作
4.3.2 實現方式
4.3.3 工作原理
4.4 組合任務
4.4.1 准備工作
4.4.2 實現方式
4.4.3 工作原理
4.5 將APM模式轉換為任務
4.5.1 准備工作
4.5.2 實現方式
4.5.3 工作原理
4.6 將EAP模式轉換為任務
4.6.1 准備工作
4.6.2 實現方式
4.6.3 工作原理
4.7 實現取消選項
4.7.1 准備工作
4.7.2 實現方式
4.7.3 工作原理
4.8 處理任務中的異常
4.8.1 准備工作
4.8.2 實現方式
4.8.3 工作原理
4.8.4 更多信息
4.9 並行運行任務
4.9.1 准備工作
4.9.2 實現方式
4.9.3 工作原理
4.10 使用TaskScheduler配置任務的執行
4.10.1 准備工作
4.10.2 實現方式
4.10.3 工作原理
5 使用C 6.0
5.1 簡介
5.2 使用await操作符獲取異步任務結果
5.2.1 准備工作
5.2.2 實現方式
5.2.3 工作原理
5.3 在lambda表達式中使用await操作符
5.3.1 准備工作
5.3.2 實現方式
5.3.3 工作原理
5.4 對連續的異步任務使用await操作符
5.4.1 准備工作
5.4.2 實現方式
5.4.3 工作原理
5.5 對並行執行的異步任務使用await操作符
5.5.1 准備工作
5.5.2 實現方式
5.5.3 工作原理
5.6 處理異步操作中的異常
5.6.1 准備工作
5.6.2 實現方式
5.6.3 工作原理
5.7 避免使用捕獲的同步上下文
5.7.1 准備工作
5.7.2 實現方式
5.7.3 工作原理
5.8 使用async void方法
5.8.1 准備工作
5.8.2 實現方式
5.8.3 工作原理
5.9 設計一個自定義的awaitable類型
5.9.1 准備工作
5.9.2 實現方式
5.9.3 工作原理
5.10 對動態類型使用await
5.10.1 准備工作
5.10.2 實現方式
5.10.3 工作原理
6 使用並發集合
6.1 簡介
6.2 使用ConcurrentDictionary
6.2.1 准備工作
6.2.2 實現方式
6.2.3 工作原理
6.3 使用ConcurrentQueue實現異步處理
6.3.1 准備工作
6.3.2 實現方式
6.3.3 工作原理
6.4 改變ConcurrentStack異步處理順序
6.4.1 准備工作
6.4.2 實現方式
6.4.3 工作原理
6.5 使用ConcurrentBag創建一個可擴展的爬蟲
6.5.1 准備工作
6.5.2 實現方式
6.5.3 工作原理
6.6 使用BlockingCollection進行異步處理
6.6.1 准備工作
6.6.2 實現方式
6.6.3 工作原理
7 使用PLINQ
7.1 簡介
7.2 使用Parallel類
7.2.1 准備工作
7.2.2 實現方式
7.2.3 工作原理
7.3 並行化LINQ查詢
7.3.1 准備工作
7.3.2 實現方式
7.3.3 工作原理
7.4 調整PLINQ查詢的參數
7.4.1 准備工作
7.4.2 實現方式
7.4.3 工作原理
7.5 處理PLINQ查詢中的異常
7.5.1 准備工作
7.5.2 實現方式
7.5.3 工作原理
7.6 管理PLINQ查詢中的數據分區
7.6.1 准備工作
7.6.2 實現方式
7.6.3 工作原理
7.7 為PLINQ查詢創建一個自定義的聚合器
7.7.1 准備工作
7.7.2 實現方式
7.7.3 工作原理
8 使用Reactive Extensions
8.1 簡介
8.2 將普通集合轉換為異步的可觀察集合
8.2.1 准備工作
8.2.2 實現方式
8.2.3 工作原理
8.3 編寫自定義的可觀察對象
8.3.1 准備工作
8.3.2 實現方式
8.3.3 工作原理
8.4 使用Subject
8.4.1 准備工作
8.4.2 實現方式
8.4.3 工作原理
8.5 創建可觀察的對象
8.5.1 准備工作
8.5.2 實現方式
8.5.3 工作原理
8.6 對可觀察的集合使用LINQ查詢
8.6.1 准備工作
8.6.2 實現方式
8.6.3 工作原理
8.7 使用Rx創建異步操作
8.7.1 准備工作
8.7.2 實現方式
8.7.3 工作原理
9 使用異步I/O
9.1 簡介
9.2 異步地使用文件
9.2.1 准備工作
9.2.2 實現方式
9.2.3 工作原理
9.3 編寫一個異步的HTTP服務器和客戶端
9.3.1 准備工作
9.3.2 實現方式
9.3.3 工作原理
9.4 異步操作數據庫
9.4.1 准備工作
9.4.2 實現方式
9.4.3 工作原理
9.5 異步調用WCF服務
9.5.1 准備工作
9.5.2 實現方式
9.5.3 工作原理
10 並行編程模式
10.1 簡介
10.2 實現惰性求值的共享狀態
10.2.1 准備工作
10.2.2 實現方式
10.2.3 工作原理
10.3 使用BlockingCollection實現並行管道
10.3.1 准備工作
10.3.2 實現方式
10.3.3 工作原理
10.4 使用TPL數據流實現並行管道
10.4.1 准備工作
10.4.2 實現方式
10.4.3 工作原理
10.5 使用PLINQ實現Map/Reduce模式
10.5.1 准備工作
10.5.2 實現方式
10.5.3 工作原理
11 更多信息
11.1 簡介
11.2 在通用Windows平台應用中使用計時器
11.2.1 准備工作
11.2.2 實現方式
11.2.3 工作原理
11.3 在通常的應用程序中使用WinRT
11.3.1 准備工作
11.3.2 實現方式
11.3.3 工作原理
11.4 在通用Windows平台應用中使用BackgroundTask
11.4.1 准備工作
11.4.2 實現方式
11.4.3 工作原理
11.5 在OS X上運行.NET內核應用程序
11.5.1 准備工作
11.5.2 實現方式
11.5.3 工作原理
11.6 在Ubuntu Linux上運行.NET內核應用程序
11.6.1 准備工作
11.6.2 實現方式
11.6.3 工作原理
思維導圖
防止博客圖床圖片失效,防止圖片源站外鏈:
http://www.processon.com/chart_image/5e5b42c0e4b0541c5e14a7d4.png)
思維導圖在線編輯鏈接: