如何在TerminateThread一个线程时,释放该线程的资源?

_china 2003-10-17 02:20:55
如题,多谢。
...全文
142 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaohyy 2003-11-22
  • 打赏
  • 举报
回复
最常用的做法 是用事件对象
在线程中等待该对象被通知才退出

::WaitForSingleObject(hEvent,INFILITI);
vcforever 2003-11-21
  • 打赏
  • 举报
回复
使用TerminateThread函数之后,线程的堆栈会被保留起来,直到进程运行结束,这是微软专门设计的,目的是为了在TerminateThread之后,其他的线程再访问该线程的资源时不至于出现非法访问的错误!
GR 2003-11-21
  • 打赏
  • 举报
回复
用这函数总是要有后遗症。

除非模仿VC撤消资源的动作。几乎不太可能。
qdcnc168 2003-11-21
  • 打赏
  • 举报
回复
设置一个变量,然后在线程中做到某一步的时候就检测变量,如果变成指定的一个值的时候就退出!
fantiyu 2003-10-19
  • 打赏
  • 举报
回复
如果不想因为TerminateThread引发问题,一定要让线程自己正常退出
核桃2000 2003-10-18
  • 打赏
  • 举报
回复
还是让它正常退出。我常用的方式是,设置一个共有变量,在线程中检测该变量的值,判断是否终止线程。
fyfsoft 2003-10-17
  • 打赏
  • 举报
回复
no approaches
if not, Microsoft would not warn developers extremly of this means to terminate a thread
wuxfBrave 2003-10-17
  • 打赏
  • 举报
回复
不要用TerminateThread好了,正常退出
SeekTruth 2003-10-17
  • 打赏
  • 举报
回复


我也很想知道.

15,472

社区成员

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

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