CloseHandle

    xiaoxiao2021-12-14  17

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

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

    转载请注明原文地址: https://ju.6miu.com/read-965586.html

    最新回复(0)