图书介绍
C#多线程编程实战 原书第2版PDF|Epub|txt|kindle电子书版本网盘下载
- (美)易格恩·阿格佛温(Eugene Agafonov)著;黄博文译 著
- 出版社: 北京:机械工业出版社
- ISBN:9787111561026
- 出版时间:2017
- 标注页数:214页
- 文件大小:18MB
- 文件页数:233页
- 主题词:C语言-程序设计
PDF下载
下载说明
C#多线程编程实战 原书第2版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 线程基础1
1.1 简介1
1.2 使用C#创建线程2
1.2.1 准备工作2
1.2.2 实现方式2
1.2.3 工作原理4
1.3 暂停线程4
1.3.1 准备工作5
1.3.2 实现方式5
1.3.3 工作原理5
1.4 线程等待6
1.4.1 准备工作6
1.4.2 实现方式6
1.4.3 工作原理7
1.5 终止线程7
1.5.1 准备工作7
1.5.2 实现方式7
1.5.3 工作原理8
1.6 检测线程状态8
1.6.1 准备工作8
1.6.2 实现方式8
1.6.3 工作原理9
1.7 线程优先级10
1.7.1 准备工作10
1.7.2 实现方式10
1.7.3 工作原理12
1.8 前台线程和后台线程12
1.8.1 准备工作12
1.8.2 实现方式12
1.8.3 工作原理13
1.9 向线程传递参数14
1.9.1 准备工作14
1.9.2 实现方式14
1.9.3 工作原理16
1.9.4 更多信息16
1.10 使用C#中的lock关键字16
1.10.1 准备工作16
1.10.2 实现方式16
1.10.3 工作原理18
1.11 使用Monitor类锁定资源19
1.11.1 准备工作19
1.11.2 实现方式19
1.11.3 工作原理21
1.12 处理异常21
1.12.1 准备工作21
1.12.2 实现方式22
1.12.3 工作原理23
第2章 线程同步24
2.1 简介24
2.2 执行基本的原子操作25
2.2.1 准备工作25
2.2.2 实现方式25
2.2.3 工作原理27
2.3 使用Mutex类28
2.3.1 准备工作28
2.3.2 实现方式28
2.3.3 工作原理29
2.4 使用SemaphoreSlim类29
2.4.1 准备工作29
2.4.2 实现方式29
2.4.3 工作原理30
2.4.4 更多信息30
2.5 使用AutoResetEvent类31
2.5.1 准备工作31
2.5.2 实现方式31
2.5.3 工作原理32
2.6 使用Manual ResetEventS lim类32
2.6.1 准备工作32
2.6.2 实现方式33
2.6.3 工作原理34
2.6.4 更多信息34
2.7 使用CountDownEvent类34
2.7.1 准备工作34
2.7.2 实现方式34
2.7.3 工作原理35
2.8 使用Barrier类35
2.8.1 准备工作35
2.8.2 实现方式36
2.8.3 工作原理36
2.9 使用ReaderWriterLockSlim类37
2.9.1 准备工作37
2.9.2 实现方式37
2.9.3 工作原理39
2.10 使用SpinWait类39
2.10.1 准备工作39
2.10.2 实现方式39
2.10.3 工作原理41
第3章 使用线程池42
3.1 简介42
3.2 在线程池中调用委托43
3.2.1 准备工作44
3.2.2 实现方式44
3.2.3 工作原理45
3.3 向线程池中放入异步操作46
3.3.1 准备工作46
3.3.2 实现方式46
3.3.3 工作原理47
3.4 线程池与并行度48
3.4.1 准备工作48
3.4.2 实现方式48
3.4.3 工作原理49
3.5 实现一个取消选项50
3.5.1 准备工作50
3.5.2 实现方式50
3.5.3 工作原理52
3.6 在线程池中使用等待事件处理器及超时52
3.6.1 准备工作52
3.6.2 实现方式52
3.6.3 工作原理54
3.6.4 更多信息54
3.7 使用计时器54
3.7.1 准备工作55
3.7.2 实现方式55
3.7.3 工作原理56
3.8 使用BackgroundWorker组件56
3.8.1 准备工作56
3.8.2 实现方式56
3.8.3 工作原理58
第4章 使用任务并行库60
4.1 简介60
4.2 创建任务61
4.2.1 准备工作62
4.2.2 实现方式62
4.2.3 工作原理63
4.3 使用任务执行基本的操作63
4.3.1 准备工作64
4.3.2 实现方式64
4.3.3 工作原理65
4.4 组合任务65
4.4.1 准备工作65
4.4.2 实现方式65
4.4.3 工作原理67
4.5 将APM模式转换为任务68
4.5.1 准备工作68
4.5.2 实现方式68
4.5.3 工作原理70
4.6 将EAP模式转换为任务71
4.6.1 准备工作71
4.6.2 实现方式71
4.6.3 工作原理72
4.7 实现取消选项73
4.7.1 准备工作73
4.7.2 实现方式73
4.7.3 工作原理74
4.8 处理任务中的异常75
4.8.1 准备工作75
4.8.2 实现方式75
4.8.3 工作原理76
4.8.4 更多信息77
4.9 并行运行任务77
4.9.1 准备工作77
4.9.2 实现方式77
4.9.3 工作原理78
4.10 使用TaskScheduler配置任务的执行79
4.10.1 准备工作79
4.10.2 实现方式79
4.10.3 工作原理81
第5章 使用C#6.083
5.1 简介83
5.2 使用await操作符获取异步任务结果85
5.2.1 准备工作85
5.2.2 实现方式85
5.2.3 工作原理87
5.3 在lambda表达式中使用await操作符87
5.3.1 准备工作87
5.3.2 实现方式87
5.3.3 工作原理88
5.4 对连续的异步任务使用await操作符89
5.4.1 准备工作89
5.4.2 实现方式89
5.4.3 工作原理90
5.5 对并行执行的异步任务使用await操作符91
5.5.1 准备工作91
5.5.2 实现方式91
5.5.3 工作原理92
5.6 处理异步操作中的异常93
5.6.1 准备工作93
5.6.2 实现方式93
5.6.3 工作原理95
5.7 避免使用捕获的同步上下文95
5.7.1 准备工作95
5.7.2 实现方式96
5.7.3 工作原理98
5.8 使用async void方法99
5.8.1 准备工作99
5.8.2 实现方式99
5.8.3 工作原理101
5.9 设计一个自定义的awaitable类型102
5.9.1 准备工作102
5.9.2 实现方式102
5.9.3 工作原理104
5.10 对动态类型使用await105
5.10.1 准备工作105
5.10.2 实现方式105
5.10.3 工作原理107
第6章 使用并发集合109
6.1 简介109
6.2 使用ConcurrentDictionary110
6.2.1 准备工作111
6.2.2 实现方式111
6.2.3 工作原理112
6.3 使用ConcurrentQueue实现异步处理113
6.3.1 准备工作113
6.3.2 实现方式113
6.3.3 工作原理115
6.4 改变ConcurrentStack异步处理顺序115
6.4.1 准备工作115
6.4.2 实现方式115
6.4.3 工作原理117
6.5 使用ConcurrentBag创建一个可扩展的爬虫117
6.5.1 准备工作117
6.5.2 实现方式118
6.5.3 工作原理120
6.6 使用BlockingCollection进行异步处理121
6.6.1 准备工作121
6.6.2 实现方式121
6.6.3 工作原理123
第7章 使用PLINQ124
7.1 简介124
7.2 使用Parallel类125
7.2.1 准备工作126
7.2.2 实现方式126
7.2.3 工作原理127
7.3 并行化LINQ查询127
7.3.1 准备工作128
7.3.2 实现方式128
7.3.3 工作原理130
7.4 调整PLINQ查询的参数131
7.4.1 准备工作131
7.4.2 实现方式131
7.4.3 工作原理132
7.5 处理PLINQ查询中的异常133
7.5.1 准备工作133
7.5.2 实现方式133
7.5.3 工作原理135
7.6 管理PLINQ查询中的数据分区135
7.6.1 准备工作135
7.6.2 实现方式135
7.6.3 工作原理137
7.7 为PLINQ查询创建一个自定义的聚合器138
7.7.1 准备工作138
7.7.2 实现方式138
7.7.3 工作原理140
第8章 使用Reactive Extensions142
8.1 简介142
8.2 将普通集合转换为异步的可观察集合143
8.2.1 准备工作143
8.2.2 实现方式143
8.2.3 工作原理145
8.3 编写自定义的可观察对象146
8.3.1 准备工作146
8.3.2 实现方式146
8.3.3 工作原理148
8.4 使用Subject148
8.4.1 准备工作148
8.4.2 实现方式149
8.4.3 工作原理151
8.5 创建可观察的对象151
8.5.1 准备工作152
8.5.2 实现方式152
8.5.3 工作原理153
8.6 对可观察的集合使用LINQ查询154
8.6.1 准备工作154
8.6.2 实现方式154
8.6.3 工作原理155
8.7 使用Rx创建异步操作156
8.7.1 准备工作156
8.7.2 实现方式156
8.7.3 工作原理159
第9章 使用异步I/O160
9.1 简介160
9.2 异步地使用文件162
9.2.1 准备工作162
9.2.2 实现方式162
9.2.3 工作原理165
9.3 编写一个异步的HTTP服务器和客户端165
9.3.1 准备工作165
9.3.2 实现方式165
9.3.3 工作原理167
9.4 异步操作数据库168
9.4.1 准备工作168
9.4.2 实现方式168
9.4.3 工作原理171
9.5 异步调用WCF服务171
9.5.1 准备工作171
9.5.2 实现方式171
9.5.3 工作原理174
第10章 并行编程模式176
10.1 简介176
10.2 实现惰性求值的共享状态177
10.2.1 准备工作177
10.2.2 实现方式177
10.2.3 工作原理180
10.3 使用BlockingCollection实现并行管道181
10.3.1 准备工作181
10.3.2 实现方式181
10.3.3 工作原理186
10.4 使用TPL数据流实现并行管道186
10.4.1 准备工作186
10.4.2 实现方式187
10.4.3 工作原理189
10.5 使用PLINQ实现Map/Reduce模式190
10.5.1 准备工作190
10.5.2 实现方式190
10.5.3 工作原理194
第11章 更多信息195
11.1 简介195
11.2 在通用Windows平台应用中使用计时器196
11.2.1 准备工作196
11.2.2 实现方式197
11.2.3 工作原理200
11.3 在通常的应用程序中使用WinRT201
11.3.1 准备工作201
11.3.2 实现方式201
11.3.3 工作原理203
11.4 在通用Windows平台应用中使用BackgroundTask203
11.4.1 准备工作204
11.4.2 实现方式204
11.4.3 工作原理209
11.5 在OS X上运行.NET内核应用程序209
11.5.1 准备工作210
11.5.2 实现方式210
11.5.3 工作原理211
11.6 在Ubuntu Linux上运行.NET内核应用程序212
11.6.1 准备工作212
11.6.2 实现方式212
11.6.3 工作原理214