《Windows环境下的多线程编程原理与应用》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:王险峰,刘宝宏编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2002
  • ISBN:7302053936
  • 页数:356 页
图书介绍:本书介绍了面向对象技术与C++语言,Windows环境中的多线程实现,互斥及其应用,临界段及其应用,事件及其应用,信号量及其应用等内容。

第1章 概述 1

1.1 进程与线程概念 1

1.1.1 进程的概念 1

1.1.2 线程的概念 1

1.1.3 单线程与多线程的比较 3

1.1.4 线程的同步问题 4

1.2 Windows操作系统的一些基本知识 4

1.2.1 关于Win32API 4

1.2.2 内核对象 5

1.2.3 关于虚拟内存 6

1.2.4 对象和句柄 6

1.2.5 安全属性 7

1.2.6 线程调度 7

1.3 本章小结 8

2.1.1 面向对象的概念 9

2.1 面向对象技术概述 9

第2章 面向对象技术与C++语言概述 9

2.1.2 面向对象的重要特征 10

2.2 C++中的重点与难点 15

2.2.1 构造函数和析构函数 15

2.2.2 默认参数的问题 15

2.2.3 指针 16

2.2.4 异常处理 25

2.2.5 友元类与友元函数 28

2.2.6 静态变量与静态函数 31

2.2.7 关于多态性 33

2.3 本章小结 40

第3章 Windows环境中的多线程实现 42

3.1 Win32API中的基本线程函数 42

3.1.1 多线程编程的函数库支持 42

3.1.2 Win32中关于多线程的几个函数 44

3.1.3 通过Win32API函数创建线程的深入知识 60

3.1.4 Windows系统中线程的生命过程 65

3.2 通过_beginthread()函数来创建线程 66

3.2.1 函数的基本用法 66

3.2.2 关于-beginthread()函数的深入知识 71

3.3 MFC中多线程的实现 74

3.3.1 MFC多线程基础 75

3.3.2 工作线程的创建 82

3.3.3 用户界面线程的创建 99

3.4 纤程 122

3.4.1 ConvertThreadToFiber()函数 123

3.4.2 CreateFiber()函数 123

3.4.3 SwitcchToFiber()函数 124

3.4.4 GetFiberData()宏 124

3.4.5 GetCunentFiber()宏 125

3.4.6 DeleteFiber()函数 125

3.5 本章小结 135

第4章 线程间通信概述 137

4.1 线程之间通信的方法 137

4.1.1 全局变量方式 137

4.1.2 参数传递法 139

4.1.3 消息传递法 153

4.1.4 通过同步变量进行线程间通信 156

4.2 线程间同步问题概述 156

4.3 死锁问题 159

4.4 本章小结 160

第5章 互斥及其应用 161

5.1 互斥的实现算法 161

5.1.1 互斥算法的实现准则 161

5.1.2 互斥的同步机制 163

5.1.3 互斥的实现算法 164

5.2 Win32API中的互斥函数 165

5.2.1 CreateMutex()函数的用法 166

5.2.2 OpenMutex()函数的用法 167

5.2.3 ReleaseMutex()函数的用法 168

5.2.4 等待函数的使用方法 168

5.2.5 利用Win32中的互斥进行同步使用实例 172

5.3 Windows MFC中的同步类概述 181

5.3.1 CSyncObject类 181

5.3.2 CSingleLock类 184

5.4 Cmutex类及其基本用法 186

5.5 互斥量应用的进一步分析 199

5.5.1 线程间通信 199

5.5.2 状态转换 203

5.5.3 快照 205

5.5.4 原子操作 206

5.6 本章小结 218

6.1 临界段的概念 219

第6章 临界段及其应用 219

6.2 Win32中与临界段有关的API函数 220

6.2.1 InitializeCriticalSection()函数 220

6.2.2 EnterCriticalSection()函数 222

6.2.3 TryEnterCriticalSection()函数 222

6.2.4 LeaveCriticalSection()函数 223

6.2.5 DeleteCriticalSection()函数 223

6.2.6 函数的使用举例 223

6.3 MFC中的临界段类 229

6.3.1 CCriticalSection类的定义和实现 230

6.3.2 CCriticalSection类的使用 231

6.4 本章小结 245

第7章 事件及其应用 247

7.1 事件的基本概念 247

7.2 Win32中与事件有关的函数 248

7.2.1 CreateEvent()函数 248

7.2.2 OpenEvent()函数 249

7.2.3 SetEvnet()函数 250

7.2.4 ResetEvent()函数 250

7.2.5 PulseEvent()函数 251

7.2.6 WaitForMultipleObjects()函数 251

7.3 Win32中关于事件的API使用举例 253

7.4 自定义事件类 258

7.5 MFC中的CEvent类 262

7.5.1 CEvent类的定义与实现 262

7.5.2 CMultiLock类的定义与实现 265

7.5.3 CEvent类的两种用法 270

7.6 事件同步的使用举例 273

7.6.1 自动事件和手动事件 273

7.6.2 事件和无名事件 278

7.6.3 等待多个事件 279

7.7 一个综合实例 286

7.8 本章小结 304

第8章 信号量及其应用 306

8.1 信号量的概念和原理 306

8.2 Win32中与信号量有关的函数 307

8.3 CSemaphore类及其实现 311

8.4 使用实例 313

8.4.1 基本使用方法举例 313

8.4.2 信号量创建线程安全类 321

8.4.3 综合实例 327

8.5 本章小结 335

第9章 附加论题 336

9.1 各种同步方法的比较 336

9.2 多线程的替代方法 337

9.3 死锁问题 342

9.4 关于主动对象 346

9.5 用还是不用 355

9.6 本章小结 356