Advertisement

《Windows核心编程》读书笔记(第6版)线程基础部分

阅读量:

第六章 线程基础

本章内容

6.1 何时创建线程

6.2 何时不应该创建线程

6.3 编写一个线程函数

6.4 CreateThread函数

6.5 终止运行线程

6.6 线程内幕

6.7 C/C++运行库注意事项

6.8 了解自己的身份

线程由两个部分组成:

1)其中一部分是线程的内核对象,操作系统通过该对象来实现对线程的管理。系统还利用该对象存储与线程相关的统计信息。

2)另一部分为线程栈,用于保存线程执行过程中涉及的所有函数参数及局部变量。

进程本质上是容纳多个线程的容器,其内部各线程共享相同的地址空间以及进程所拥有的内核对象句柄。进程需要负责维护自身的地址空间,并加载相应的dll和exe文件等资源。操作系统在内部会记录大量与此相关的信息。

相比之下,每个线程仅需维护一个内核对象和一个栈结构,因此其资源消耗明显更低。(在VC++库中,还会额外维护一个名为_tiddata的用于Thread Local Storage的数据结构)

6.1 何时创建线程

通过有效利用CPU资源实现任务的并行处理,将用户界面与后台运算进行分离。UI模块仅负责接收用户输入,而具体的处理工作则由后台线程完成,这种方式有助于显著优化用户的操作体验。

6.2 何时不应该创建线程

线程技术虽能应对部分问题,但同时也可能引发新的挑战,其

全部评论 (0)

还没有任何评论哟~