第四章 线程
知识要点
每向系统获取一个句柄,会使相应对象的引用计数加1。而GetCurrentProcess()函数返回的是一个伪句柄,也就是不增加引用计数,相当于赋值拷贝。对应于线程,有GetCurrentThread(),情况同GetCurrentProcess()。
特别地,伪句柄在线程间传递时,并不能像使用者期望的那样工作。需要使用DuplicateHandle()复制出“真正的”句柄,具体为什么有这样的特性,内核是如何实现的,未知。终止线程
方法有三种:
- 主动调用ExitThread()函数。
- 外部调用TerminateThread()函数。
- 通过终止进程(ExitProcess())来终止线程。
获取线程退出状态或者查询线程是否退出:GetExitCodeThread()。
- 未完待续