您的位置:首页 > 编程语言 > C语言/C++

CloseHandle

2016-12-02 17:14 127 查看
1.为啥要在创建Handle后立马关闭;

首先我们都是在创建线程赋给一个句柄,然后立马结束句柄;

这是为啥?

1.线程和线程句柄不是一个东西,线程是在CPU上运行的,线程句柄是一个内核对象。我们可以通过句柄来操作线程;但是其生命周期不同。线程生命周期是从线程函数开始执行到return,而线程句柄的生命周期是从CreateThread到CloseHandle();

2.内核对象都是系统资源,用了要归还,也即用完后一定要关闭句柄,否则系统资源很快就要被用光。

3.如果在CreateHandle以后需要对这个线程进行一些操作,比如改变优先级,被其他线程等待,强制TermateThread等,就要保存这个句柄,使用完了在CloseHandle。如果创建线程之后不需要干预则直接CLosehandle就行了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C++-CLOSEH