CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
【经验总结】不能实施并行处理的情况 浅谈并行编程中的任务分解模式
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  进程/线程/DLL

用CreateThread(...)创建线程...?

楼主sunx007(又见飞刀)2001-08-17 09:57:35 在 VC/MFC / 进程/线程/DLL 提问

用CreateThread(...)创建一个线程,是否一定要用CloseHandle()来关掉该线程的句柄?  
  如果是,请问该在何处调用?如果不调用,会否造成内存泄漏? 问题点数:20、回复次数:4Top

1 楼yangmajituipo()回复于 2001-08-17 10:16:35 得分 0

建议不要用底层API   CreateThread  
  用beginthreadex  
  也不一定要CloseHandle,让它自然中止最好  
  Top

2 楼horsehorse(老马)回复于 2001-08-17 11:45:08 得分 10

MSDN中提到释放线程资源的两个条件:  
  1.   线程结束。  
  2.   与线程相关联的所有句柄均已关闭。  
  所以,最好还是调用CloseHandle。  
  我试过两种方法:  
  1.   作为线程函数的最后一句。  
  2.   线程刚一创建就调用。  
  第二种方法有点可怕,不过好象也没出什么问题。一般用于线程太多,懒得保存线程句柄的情况。  
  别忘了给分!最近骗子越来越多。Top

3 楼sunx007(又见飞刀)回复于 2002-05-31 11:51:32 得分 0

线程刚一创建就调用也可以。Top

4 楼batizhou(batizhou)回复于 2002-05-31 12:05:52 得分 10

最好不要用CreateThread();因为这样在线程函数中就不能使用C   Run-time   Library,malloc(),free(),fopen()...这些都是C   Run-time   Library中的函数。  
  应该用_beginthreadex(),如果你以后要使用handle,则不用关闭它,否则你最好在_beginthreadex()后先判断是否成功,然后CloseHandle(hThread)。Top

相关问题

  • 请问创建线程是用afxBeginThreaD还是应该用CREATETHREAD?
  • 用CreateThread创建的线程池,WaitForSingleObject等待事件驱动
  • 在VB中如何使用CreateThread函数创建线程
  • 用CreateThread()函数创建线程的简单问题!
  • 请教如何在类中用createthread创建线程
  • CreateThread创建线程的问题
  • 用CreateThread创建一个线程后如果不CloseHandle,会发生什么事情?
  • 创建线程!!!
  • 创建线程
  • CreateThread创建线程,那么如何关闭这个线程???????????????????????????????急,在线等.....

关键词

  • 线程
  • 函数
  • createthread
  • 句柄
  • 调用
  • 创建
  • beginthreadex
  • closehandle

得分解答快速导航

  • 帖主:sunx007
  • horsehorse
  • batizhou

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
惹火投票。。火热进行中...
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
CSDN网站24小时值班电话:13552009689
Copyright © 2000-2009, CSDN.NET, All Rights Reserved
GongshangLogo