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

C++ 多线程 CloseHandle函数

2017-09-11 16:43 141 查看
CloseHandle函数读入一个句柄参数,释放其内存。Microsoft的文档里给它的函数定义是:

BOOL WINAPI CloseHandle(
_In_ HANDLE hObject
);

它返回bool类型,若成功释放句柄,就返回true,否则返回false。

句柄也是系统资源,每次用完都要还给系统。

需要注意的是线程并不是句柄,句柄相当于一个线程的指针,线程的寿命到其中的函数执行完毕就结束了,而句柄的寿命是从CreateThread直到CloseHandle,释放一个句柄并不会中断线程的运行。

所以有时创建线程的时候只是很简单的CreatThread(null,0,func,args,o,null);来执行一个函数,并不需要它返回的句柄,这时候就可以在创建线程的同时直接释放它的句柄,可以很简洁的写成:

CloseHandle(CreatThread(null,0,······));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: