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

当进程结束后,内核对象一定会被销毁吗?

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的时

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

闭。


欢迎随时指正。谢谢。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值