您的位置:首页 > 其它

关于内核进程对象的存活期问题。

2014-02-18 03:45 218 查看
当进程结束后,内核对象一定会被销毁吗?

MSDN关于CloseHandle()这个函数有这么一段解释。

Closing a thread handle does not terminate the associated thread.

To remove a thread object, you must terminate the thread, then clo-

se all handles to the thread.

关闭线程句柄不一定销毁相关联的线程对象。要移除线程对象,你必须
摧毁线程,然后关闭这个线程的所有句柄。

从这一句话可以看出来,线程结束后,线程对象不一定被移除,还要关

闭所有的关联到这个线程的线程句柄才可以。

现在我是这么认为的,一个内核对象要被销毁,当且仅当某次调用Clos-

eHandle内核对象的计数器减1之后,这个内核对象的计数器变为0的时

候,才会被关闭。其他任何情况(关机不算),这个内核对象都不会被关

闭。

欢迎随时指正。谢谢。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: