2.3.1 Parallel.For 43
2.3.2 Parallel.ForEach 49
2.3.3 從并行循環(huán)中退出 56
2.4 指定并行度 62
2.4.1 ParallelOptions 63
2.4.2 計(jì)算硬件線程 65
2.4.3 邏輯內(nèi)核并不是物理內(nèi)核 66
2.5 通過甘特圖檢測(cè)臨界區(qū) 67
2.6 小結(jié) 68
第3章 命令式任務(wù)并行 69
3.1 創(chuàng)建和管理任務(wù) 70
3.1.1 System.Threading.Tasks.
Task 71
3.1.2 理解Task狀態(tài)和生命周期 72
3.1.3 通過使用任務(wù)來對(duì)代碼進(jìn)行并行化 74
3.1.4 等待任務(wù)完成 80
3.1.5 忘記復(fù)雜的線程 81
3.1.6 通過取消標(biāo)記取消任務(wù) 82
3.1.7 從任務(wù)返回值 88
3.1.8 TaskCreationOptions 90
3.1.9 通過延續(xù)串聯(lián)多個(gè)任務(wù) 90
3.1.10 編寫適應(yīng)并發(fā)和并行的代碼 95
3.2 小結(jié) 96
第4章 并發(fā)集合 97
4.1 理解并發(fā)集合提供的功能 98
4.1.1 System.Collections.
Concurrent 100
4.1.2 ConcurrentQueue 101
4.1.3 理解并行的生產(chǎn)者-消費(fèi)者模式 104
4.1.4 ConcurrentStack 116