为什么要在_beginthread之后立即CloseHandle()它?

csoapy 2006-08-19 09:48:25
看了几个多线程的示例代码,都是这么做的。
查了下MSDN,它说CloseHandle时如果是被关的对象是线程的话也不会引起线程退出。
不明白。
...全文
261 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
hailongchang 2006-08-23
  • 打赏
  • 举报
回复
线程是一种内核对象,系统维护着每一个内核对象,当每个内核对象引用记数为0时,系统就从内存中释放该对象,CloseHandle就是将该线程对象的引用记数减1
louifox 2006-08-19
  • 打赏
  • 举报
回复
关闭线程句柄不会引起线程结束,只是减少线程内核对象的引用计数。
song_09 2006-08-19
  • 打赏
  • 举报
回复
创建线程后会返回一个线程句柄,线程的使用记数为2,在你得到线程句柄后如果不对线程进行其他操作的话就通过CloseHandle()关闭该句柄,同时线程记数-1。线程执行退出时,记数也会减1,记数为0时,操作系统会释放线程的句柄资源,因此,大多数情况下,创建完线程后都会关闭线程句柄。跟多详细信息可以参考《windows核心编程》。

15,467

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧