第六章 线程的基础知识

A: 线程由两个部分组成:

•线程的内核对象,操作系统用它来对线程实施管理。内核对象也是系统用来存放线程统计信息的地方。

另一个是线程堆栈,它用于维护线程在执行代码时需要的所有函数参数和局部变量

线程在它的进程地址空间中执行代码,并且在进程的地址空间中对数据进行操作。多个线程将共享单个地址空间。这些线程能够执行相同的代码,对相同的数据进行操作。这些线程还能共享内核对象句柄,(因为句柄表依赖于每个进程而不是每个线程存在)。

B:线程的创建:

当进程被初始化时,系统就要创建一个主线程。该线程与C/C++运行期库的启动代码一道开始运行,启动代码则调用进入点函数(mianwmainWinMainwWinMain ,并且继续运行直到进入点函数返回并且C/C++运行期库的启动代码调用ExitProcess为止。对于许多应用程序来说,这个主线程是应用程序需要的唯一线程。不过,进程能够创建更多的线程来帮助执行它们的操作。

通常,一个应用程序拥有一个用户界面线程,用于创建所有窗口,并且有一个GetMessage循环。进程中的所有其他线程都是工作线程,它们与计算机或 I / O相关联,但是这些线程从不创建窗口。另外,一个用户界面线程通常拥有比工作线程更高的优先级,因此用户界面负责向用户作出响应。

原文地址:https://www.cnblogs.com/dyufei/p/2574003.html