CloseHandle

来源:互联网 发布:apache tomcat 配置 编辑:程序博客网 时间:2024/06/09 17:14

1.为啥要在创建Handle后立马关闭;
首先我们都是在创建线程赋给一个句柄,然后立马结束句柄;
这是为啥?

1.线程和线程句柄不是一个东西,线程是在CPU上运行的,线程句柄是一个内核对象。我们可以通过句柄来操作线程;但是其生命周期不同。线程生命周期是从线程函数开始执行到return,而线程句柄的生命周期是从CreateThread到CloseHandle();
2.内核对象都是系统资源,用了要归还,也即用完后一定要关闭句柄,否则系统资源很快就要被用光。
3.如果在CreateHandle以后需要对这个线程进行一些操作,比如改变优先级,被其他线程等待,强制TermateThread等,就要保存这个句柄,使用完了在CloseHandle。如果创建线程之后不需要干预则直接CLosehandle就行了。

0 0
原创粉丝点击