closehandle();
来源:互联网 发布:李小璐淘宝店名 编辑:程序博客网 时间:2024/06/08 16:19
创建线程后马上CloseHandle(threadhandle)起什么作用
HANDLE threadhandle = CreateThread(NULL, 0, RecvThreadProc, NULL, NULL, NULL);
CloseHandle(threadhandle);
不明白为什么创建线程后,要马上把线程的句柄关闭,这样做的目的是什么? 这样做会杀掉线程吗?
解答:
创建线程后返回了线程句柄,新创建的线程内核对象的使用计数是2,一个是线程本身,一个是创建线程的线程,创建线程的线程closehandle后,新的线程的内核对象使用计数为1,当这个新线程结束运行后内核对象的使用计数还要减1,这时内核对象的使用计数是0,则系统会自动删除新线程的内核对象,这是正常的处理流程。
你如果不显示的调用closehandle,则新线程结束运行后,由于内核对象使用计数为1,所以不会删除内核对象,会造成内存泄露,不过当整个进程结束时操作系统会自动关闭该进程的所有的内核对象包括这个新线程的内核对象,所以你不调用closehandle问题不大,只是在你的进程运行的时候会造成内存泄露,进程结束后系统是会自动清理的。
- closehandle
- CloseHandle()
- CloseHandle
- CloseHandle
- CloseHandle()
- closehandle();
- CloseHandle
- CloseHandle
- CloseHandle
- CloseHandle()
- CloseHandle
- 线程closehandle
- 函数 CloseHandle
- CloseHandle疑惑
- CloseHandle()函数
- CloseHandle()函数
- CloseHandle()和ExitThread()区别
- 线程的CloseHandle
- 使用XCode5和iOS7SDK出现Undefined symbols for architecture i386 clang: error: linker command failed with
- 让程序语言的反射机制融入生活
- 真正可以帮助网友们学习的作品、书籍和视频教程
- 验证改为本地dtd
- HDU 1847 bash game 变化
- closehandle();
- 毕业一年总结专题6--Tuscany1.6发布WebService和hessian
- 和菜鸟一起学android4.0.3源码之touchscreen配置+调试记录
- jQuery对select的操作
- 【OpenCV学习笔记】之五 RGB图像归一化处理函数,消除线性变化的光照影响
- bitmap的一些操作方法
- fread和fwrite用法详解
- SQL SERVER数据库中的数据类型
- Cassandra1.2.5源码环境搭建