博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

CreateThread,CloseHandle

Posted on 2011-04-16 16:35  bw_0927  阅读(776)  评论(0)    收藏  举报

CreateThread启动了一个线程,同时产生一个句柄让你好操纵这个线程,如果你不要用这个句柄了就CloseHandle关掉它。

调用这个CloseHandle并不意味着结束线程,而是表示不关心此句柄的状态了,也就无法控制子进程的线程了。
如果需要关心,可以在子进程结束后再CloseHandle,但一定得CloseHandle。
操作系统内核管理内核对象的生命期,应用程序通过CloseHandle操作内核对象的引用计数,当引用计数由1降为0时,内核负责销毁相应的内核对象。
进程和线程都有一个内核对象与它们对应,操作系统通过内核对象管理进程和线程。

当你在程序中,不需要再操作创建的线程时,就CloseHandle掉,即便是那个线程目前计数为1,等你调用CloseHandle后该计数降为 0,但已经创建的线程并没有被马上撤消,而是等线程函数执行完毕后才撤消,或者是在线程函数执行完毕前整个进程结束,那么该线程也被撤消。

CreateThread启动了一个线程,同时产生一个句柄让你好操纵这个线程,如果你不要用这个句柄了就CloseHandle关掉它.不要想多了.CloseHandle后线程仍然会正常执行,但却不能操控它了。s