您的位置:首页 > 其它

(CloseHandle函数)内核对象、进程和线程

2012-11-23 14:53 197 查看
从CloseHandle函数说起,三者之间的关系,



这个函数是关闭一个内核对象。其中包括文件、文件映射、进程、线程、安全和同步对象等。

在CreateThread成功之后会返回一个hThread的handle,且内核对象的计数加1,CloseHandle之后,引用计数减1,当变为0时,系统删除内核对象。

若在线程执行完之后,没有调用CloseHandle,在进程执行期间,将会造成内核对象的泄露,相当于句柄泄露,但不同于内存泄露,这势必会对系统的效率带来一定程度上的负面影响。

但当进程结束退出后,系统会自动清理这些资源。



也就是这么说,

内核对象的结束:

CloseHandle函数是来尽力促进内核对象结束的,但不是立刻结束内核对象,因为内核对象的结束是以使用计数为依据。

进程的结束:参看本空间博客《进程相关》

线程的结束:参看本空间博客《windows核心编程心解--进程相关》
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: