C++多线程编程实战

978-7-115-41366-6
作者: 【黑山共和国】Milos Ljumovic(米洛斯 留莫维奇)
译者: 姜佑
编辑: 傅道坤

图书目录:

目录

第 1章 C++概念和特性简介 1

1.1 介绍 1

1.2 创建C++项目 2

1.3 程序结构、执行流和运行时对象 3

1.4 结构化编程方法 7

1.5 理解面向对象编程方法 9

1.6 解释继承、重载和覆盖 11

1.7 理解多态 15

1.8 事件处理器和消息传递接口 18

1.9 链表、队列和栈示例 22

第 2章 进程和线程的概念 31

2.1 简介 31

2.2 进程和线程 31

2.3 解释进程模型 32

2.4 进程的实现 36

2.5 进程间通信(IPC) 39

2.6 解决典型的IPC问题 47

2.7 线程模型的实现 55

2.8 线程的用法 60

2.9 在用户空间实现线程 66

2.10 在内核实现线程 73

第3章 管理进程 79

3.1 介绍 79

3.2 进程和线程 80

3.3 协作式和抢占式多任务处理 83

3.4 解释Windows线程对象 84

3.5 基本线程管理 85

3.6 实现异步的线程 92

3.7 实现同步的线程 97

3.8 Win32同步对象和技术 101

3.8.1 同步对象:互斥量 102

3.8.2 同步对象:信号量 103

3.8.3 同步对象:事件 104

3.8.4 同步对象:临界区 105

第4章 消息传递 107

4.1 介绍 107

4.2 解释消息传递接口 108

4.3 理解消息队列 112

4.4 使用线程消息队列 118

4.5 通过管道对象通信 122

第5章 线程同步和并发操作 127

5.1 介绍 127

5.2 伪并行 127

5.3 理解进程和线程优先级 128

5.4 Windows分发器对象和调度 134

5.5 使用互斥量 135

5.6 使用信号量 143

5.7 使用事件 150

5.8 使用临界区 157

5.9 使用管道 164

第6章 .NET框架中的线程 177

6.1 介绍 177

6.2 托管代码和非托管代码 177

6.3 如何在.NET中运行线程 179

6.4 前台线程和后台线程的区别 185

6.5 理解.NET同步要素 188

6.6 锁和避免死锁 193

6.7 线程安全和.NET框架的类型 198

6.8 事件等待句柄的触发 200

6.9 基于事件的异步模式 204

6.10 BackgoundWorker类 210

6.11 中断、中止和安全取消线程执行 214

6.12 非阻塞同步 222

6.13 Wait和Pulse触发 224

6.14 Barrier类 228

第7章 理解并发代码设计 235

7.1 介绍 235

7.2 如何设计并行应用程序 235

7.3 理解代码设计中的并行 240

7.4 转向并行 246

7.5 改进性能因素 252

第8章 高 级线程管理 259

8.1 介绍 259

8.2 使用线程池 259

8.3 定制线程池分发器 269

8.4 使用远程线程 283

附 录 A 291

A.1 安装MySQL Connector/C 291

A.2 安装WinDDK-Driver开发套件 294

A.3 设置驱动器编译的Visual Studio项目 296

A.4 使用DebugView应用程序 301

A.5 设置OpenMP编译的Visual Studio项目 302

详情

本书是使用C++来开发多线程应用程序的实用指南,其内容包含使用带有继承、重载和多态的面向对象编程模型;解决常见的进程间通信问题,避免在程序开发过程中遇到的死锁和饿死问题;使用CThread类高效管理线程;探索.NET CLI/C++特性以及同步对象和技术;在代码中充分使用并行技术;在并发执行时使用机器资源;使用消息通信技术来让程序相互通信,以及避免典型的同步问题。

图书摘要

相关图书

DirectX 12 3D 游戏开发实战
DirectX 12 3D 游戏开发实战
Python和NLTK自然语言处理
Python和NLTK自然语言处理
scikit-learn机器学习(第2版)
scikit-learn机器学习(第2版)
C++编程自学宝典
C++编程自学宝典
数据科学实战手册(第2版)
数据科学实战手册(第2版)
Scala实用指南
Scala实用指南

相关文章

相关课程