書(shū)籍簡(jiǎn)介:
為了創(chuàng)建這樣的應(yīng)用程序,你需要學(xué)習(xí)如何在程序中有效地使用多個(gè)CPU核心。如果你使用的是Microsoft.NET開(kāi)發(fā)平臺(tái)以及C#編程語(yǔ)言,那么本書(shū)將是一個(gè)編寫(xiě)高性能、高響應(yīng)性的應(yīng)用程序的完美起點(diǎn)。本書(shū)的目的是給你提供C#中多線程以及并行編程的詳盡指導(dǎo)。我們將從基本概念開(kāi)始,每章主題比前一章都有所拔高,后展示了現(xiàn)實(shí)世界中的并行編程模式以及Windows商店應(yīng)用示例。
作者簡(jiǎn)介:
[美]易格恩·阿格佛溫(Eugene Agafonov)
出版日期:
2017年03月
章節(jié)目錄:
譯者序
前 言
第1章 線程基礎(chǔ)1
1.1 簡(jiǎn)介1
1.2 使用C#創(chuàng)建線程2
1.2.1 準(zhǔn)備工作2
1.2.2 實(shí)現(xiàn)方式2
1.2.3 工作原理4
1.3 暫停線程4
1.3.1 準(zhǔn)備工作5
1.3.2 實(shí)現(xiàn)方式5
1.3.3 工作原理5
1.4 線程等待6
1.4.1 準(zhǔn)備工作6
1.4.2 實(shí)現(xiàn)方式6
1.4.3 工作原理7
1.5 終止線程7
1.5.1 準(zhǔn)備工作7
1.5.2 實(shí)現(xiàn)方式7
1.5.3 工作原理8
1.6 檢測(cè)線程狀態(tài)8
1.6.1 準(zhǔn)備工作8
1.6.2 實(shí)現(xiàn)方式8
1.6.3 工作原理9
1.7 線程優(yōu)先級(jí)10
1.7.1 準(zhǔn)備工作10
1.7.2 實(shí)現(xiàn)方式10
1.7.3 工作原理12
1.8 前臺(tái)線程和后臺(tái)線程12
1.8.1 準(zhǔn)備工作12
1.8.2 實(shí)現(xiàn)方式12
1.8.3 工作原理13
1.9 向線程傳遞參數(shù)14
1.9.1 準(zhǔn)備工作14
1.9.2 實(shí)現(xiàn)方式14
1.9.3 工作原理16
1.9.4 更多信息16
1.10 使用C#中的lock關(guān)鍵字16
1.10.1 準(zhǔn)備工作16
1.10.2 實(shí)現(xiàn)方式16
1.10.3 工作原理18
1.11 使用Monitor類(lèi)鎖定資源19
1.11.1 準(zhǔn)備工作19
1.11.2 實(shí)現(xiàn)方式19
1.11.3 工作原理21
1.12 處理異常21
1.12.1 準(zhǔn)備工作21
1.12.2 實(shí)現(xiàn)方式22
1.12.3 工作原理23
第2章 線程同步24
2.1 簡(jiǎn)介24
2.2 執(zhí)行基本的原子操作25
2.2.1 準(zhǔn)備工作25
2.2.2 實(shí)現(xiàn)方式25
2.2.3 工作原理27
2.3 使用Mutex類(lèi)28
2.3.1 準(zhǔn)備工作28
2.3.2 實(shí)現(xiàn)方式28
2.3.3 工作原理29
2.4 使用SemaphoreSlim類(lèi)29
2.4.1 準(zhǔn)備工作29
2.4.2 實(shí)現(xiàn)方式29
2.4.3 工作原理30
2.4.4 更多信息30
2.5 使用AutoResetEvent類(lèi)31
2.5.1 準(zhǔn)備工作31
2.5.2 實(shí)現(xiàn)方式31
2.5.3 工作原理32
2.6 使用ManualResetEventSlim類(lèi)32
2.6.1 準(zhǔn)備工作32
2.6.2 實(shí)現(xiàn)方式33
2.6.3 工作原理34
2.6.4 更多信息34
2.7 使用CountDownEvent類(lèi)34
2.7.1 準(zhǔn)備工作34
2.7.2 實(shí)現(xiàn)方式34
2.7.3 工作原理35
2.8 使用Barrier類(lèi)35
2.8.1 準(zhǔn)備工作35
2.8.2 實(shí)現(xiàn)方式36
2.8.3 工作原理36
2.9 使用ReaderWriterLockSlim類(lèi)37
2.9.1 準(zhǔn)備工作37
2.9.2 實(shí)現(xiàn)方式37
2.9.3 工作原理39
2.10 使用SpinWait類(lèi)39
2.10.1 準(zhǔn)備工作39
2.10.2 實(shí)現(xiàn)方式39
2.10.3 工作原理41
第3章 使用線程池42
3.1 簡(jiǎn)介42
3.2 在線程池中調(diào)用委托43
3.2.1 準(zhǔn)備工作44
3.2.2 實(shí)現(xiàn)方式44
3.2.3 工作原理45
3.3 向線程池中放入異步操作46
3.3.1 準(zhǔn)備工作46
3.3.2 實(shí)現(xiàn)方式46
3.3.3 工作原理47
3.4 線程池與并行度48
3.4.1 準(zhǔn)備工作48
3.4.2 實(shí)現(xiàn)方式48
3.4.3 工作原理49
3.5 實(shí)現(xiàn)一個(gè)取消選項(xiàng)50
3.5.1 準(zhǔn)備工作50
3.5.2 實(shí)現(xiàn)方式50
3.5.3 工作原理52
3.6 在線程池中使用等待事件處理器及超時(shí)52
3.6.1 準(zhǔn)備工作52
3.6.2 實(shí)現(xiàn)方式52
3.6.3 工作原理54
3.6.4 更多信息54
3.7 使用計(jì)時(shí)器54
3.7.1 準(zhǔn)備工作55
3.7.2 實(shí)現(xiàn)方式55
3.7.3 工作原理56
3.8 使用BackgroundWorker組件56
3.8.1 準(zhǔn)備工作56
3.8.2 實(shí)現(xiàn)方式56
3.8.3 工作原理58
第4章 使用任務(wù)并行庫(kù)60
4.1 簡(jiǎn)介60
4.2 創(chuàng)建任務(wù)61
4.2.1 準(zhǔn)備工作62
4.2.2 實(shí)現(xiàn)方式62
4.2.3 工作原理63
4.3 使用任務(wù)執(zhí)行基本的操作63
4.3.1 準(zhǔn)備工作64
4.3.2 實(shí)現(xiàn)方式64
4.3.3 工作原理65
4.4 組合任務(wù)65
4.4.1 準(zhǔn)備工作65
4.4.2 實(shí)現(xiàn)方式65
4.4.3 工作原理67
4.5 將APM模式轉(zhuǎn)換為任務(wù)68
4.5.1 準(zhǔn)備工作68
4.5.2 實(shí)現(xiàn)方式68
4.5.3 工作原理70
4.6 將EAP模式轉(zhuǎn)換為任務(wù)71
4.6.1 準(zhǔn)備工作71
4.6.2 實(shí)現(xiàn)方式71
4.6.3 工作原理72
4.7 實(shí)現(xiàn)取消選項(xiàng)73
4.7.1 準(zhǔn)備工作73
4.7.2 實(shí)現(xiàn)方式73
4.7.3 工作原理74
4.8 處理任務(wù)中的異常75
4.8.1 準(zhǔn)備工作75
4.8.2 實(shí)現(xiàn)方式75
4.8.3 工作原理76
4.8.4 更多信息77
4.9 并行運(yùn)行任務(wù)77
4.9.1 準(zhǔn)備工作77
4.9.2 實(shí)現(xiàn)方式77
4.9.3 工作原理78
4.10 使用TaskScheduler配置任務(wù)的執(zhí)行79
4.10.1 準(zhǔn)備工作79
4.10.2 實(shí)現(xiàn)方式79
4.10.3 工作原理81
第5章 使用C# 6.083
5.1 簡(jiǎn)介83
5.2 使用await操作符獲取異步任務(wù)結(jié)果85
5.2.1 準(zhǔn)備工作85
5.2.2 實(shí)現(xiàn)方式85
5.2.3 工作原理87
5.3 在lambda表達(dá)式中使用await操作符87
5.3.1 準(zhǔn)備工作87
5.3.2 實(shí)現(xiàn)方式87
5.3.3 工作原理88
5.4 對(duì)連續(xù)的異步任務(wù)使用await操作符89
5.4.1 準(zhǔn)備工作89
5.4.2 實(shí)現(xiàn)方式89
5.4.3 工作原理90
5.5 對(duì)并行執(zhí)行的異步任務(wù)使用await操作符91
5.5.1 準(zhǔn)備工作91
5.5.2 實(shí)現(xiàn)方式91
5.5.3 工作原理92
5.6 處理異步操作中的異常93
5.6.1 準(zhǔn)備工作93
5.6.2 實(shí)現(xiàn)方式93
5.6.3 工作原理95
5.7 避免使用捕獲的同步上下文95
5.7.1 準(zhǔn)備工作95
5.7.2 實(shí)現(xiàn)方式96
5.7.3 工作原理98
5.8 使用async void方法99
5.8.1 準(zhǔn)備工作99
5.8.2 實(shí)現(xiàn)方式99
5.8.3 工作原理101
5.9 設(shè)計(jì)一個(gè)自定義的awaitable類(lèi)型102
5.9.1 準(zhǔn)備工作102
5.9.2 實(shí)現(xiàn)方式102
5.9.3 工作原理104
5.10 對(duì)動(dòng)態(tài)類(lèi)型使用await105
5.10.1 準(zhǔn)備工作105
5.10.2 實(shí)現(xiàn)方式105
……
封面圖: