C++ 多线程 CloseHandle函数
2017-09-11 16:43
141 查看
CloseHandle函数读入一个句柄参数,释放其内存。Microsoft的文档里给它的函数定义是:
它返回bool类型,若成功释放句柄,就返回true,否则返回false。
句柄也是系统资源,每次用完都要还给系统。
需要注意的是线程并不是句柄,句柄相当于一个线程的指针,线程的寿命到其中的函数执行完毕就结束了,而句柄的寿命是从CreateThread直到CloseHandle,释放一个句柄并不会中断线程的运行。
所以有时创建线程的时候只是很简单的CreatThread(null,0,func,args,o,null);来执行一个函数,并不需要它返回的句柄,这时候就可以在创建线程的同时直接释放它的句柄,可以很简洁的写成:
CloseHandle(CreatThread(null,0,······));
BOOL WINAPI CloseHandle( _In_ HANDLE hObject );
它返回bool类型,若成功释放句柄,就返回true,否则返回false。
句柄也是系统资源,每次用完都要还给系统。
需要注意的是线程并不是句柄,句柄相当于一个线程的指针,线程的寿命到其中的函数执行完毕就结束了,而句柄的寿命是从CreateThread直到CloseHandle,释放一个句柄并不会中断线程的运行。
所以有时创建线程的时候只是很简单的CreatThread(null,0,func,args,o,null);来执行一个函数,并不需要它返回的句柄,这时候就可以在创建线程的同时直接释放它的句柄,可以很简洁的写成:
CloseHandle(CreatThread(null,0,······));
相关文章推荐
- 【C/C++多线程编程之六】pthread互斥量
- c++多线程重点难点(三)Mutex
- 当JNI遇到多线程--java对象如何被C++中的多个线程访问?
- c++ 多线程中的线程同步--Event
- C++与多线程
- (C++多线程问题)CreateThread(…
- C++ 多线程编程解决CPU占用率高问题
- [C++]如何查找多线程中的死循环
- c++ 多线程编程常用的几个函数
- c/c++: 多线程编程基础讲解(二)
- C++晋升之多线程二(多线程的一些特点)
- C++多线程(一)
- C++多线程,互斥,同步
- C++多线程服务端 和 lua客户端(A)
- C++中多线程与Singleton的那些事儿
- C++多线程
- ros(robot operating system机器人操作系统)订阅函数的多线程使用方法(C++: 外部变量控制跳出for循环)
- c++ 11 多线程教学(1)
- 【编程题】多线程 (C++)
- linux下c++多线程下用CLOCK()函数统计程序运行时间 2012-12-11 12:46:01 分类: C/C++ clock()函数的功能: 这个函数返回从“开启这个程序进程”到