第1篇 线程、多任务和异步基础
第1章 并行编程简介
1.1 技术要求
1.2 为多核计算做准备
1.2.1 进程
1.2.2 硬件和应用程序的性能
1.2.3 多任务
1.2.4 超线程
1.2.5 Flynn分类法
1.2.6 线程
1.2.7 线程类型
1.2.8 线程单元状态
1.2.9 多线程
1.2.10 Thread类
1.2.11 使用Thread类的优缺点
1.2.12 ThreadPool类
1.2.13 使用ThreadPool的优缺点
1.2.14 BackgroundWorker
1.2.15 使用BackgroundWorker的优缺点
1.2.16 多线程与多任务对比
1.3 适用并行编程技术的场景
1.4 并行编程的优缺点
1.5 小结
1.6 牛刀小试
第2章 任务并行性
2.1 技术要求
2.2 任务
2.3 创建和启动任务
2.3.1 System.Threading.Tasks.Task类
2.3.2 System.Threading.Tasks.Task.Factory.StartNew方法
2.3.3 System.Threading.Tasks.Task.Run方法
2.3.4 System.Threading.Tasks.Task.Delay方法
2.3.5 System.Threading.Tasks.Task.Yield方法
2.3.6 System.Threading.Tasks.Task.FromResult(T)方法
2.3.7 System.Threading.Tasks.Task.FromException和System.Threading.Tasks.Task.FromException(T)方法
2.3.8 System.Threading.Tasks.Task.FromCanceled和System.Threading.Tasks.Task.FromCanceled(T)方法
2.4 从完成的任务中获取结果
2.5 取消任务
2.5.1 创建令牌
2.5.2 使用令牌创建任务
2.5.3 通过IsCancellationRequested属性轮询令牌的状态
2.5.4 注册请求取消的回调
2.6 等待正在运行的任务
2.6.1 Task.Wait
2.6.2 Task.WaitAll
2.6.3 Task.WaitAny
2.6.4 Task.WhenAll
2.6.5 Task.WhenAny
2.7 处理任务异常
2.7.1 处理来自单个任务的异常
2.7.2 处理来自多个任务的异常
2.7.3 使用回调函数处理任务异常
2.8 将APM模式转换为任务
2.9 将EAP模式转换为任务
2.10 有关任务的更多信息
2.10.1 后续任务
2.10.2 使用Task.ContinueWith方法继续执行任务
……
第2篇 支持.NET Core中并行性的数据结构
第3篇 使用C#进行异步编程
第4篇 异步代码的调试、诊断和单元测试
第5篇 .NET Core附加的并行编程功能
附录 牛刀小试答案
展开