社区
网络编程
帖子详情
如果我用SuspendThread将一个线程挂起,那么这时我要中止这个线程应该怎样做啊?
lewice
2004-08-25 09:34:36
问题如上,谢谢大家了,有点急
...全文
248
14
打赏
收藏
如果我用SuspendThread将一个线程挂起,那么这时我要中止这个线程应该怎样做啊?
问题如上,谢谢大家了,有点急
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jmcooler
2004-08-27
打赏
举报
回复
一句话,线程里进行耗时的操作时,必须在每步都检查退出标志或者事件,以在收到主程序的退出请求时,正常退出。工作线程里就入上面我讲的。而用户接口线程(或者称为界面线程),你只需要用PostThreadMessage给该线程Post一个WM_QUIT消息,然后等待线程退出。但接口线程里也不应该进行耗时的操作。
jmcooler
2004-08-27
打赏
举报
回复
线程被挂起时,是没有办法正常退出的。要么采用TerminateThread,强制关闭线程,至于TerminateThread关闭后,内存的释放问题,你可以把需要在线程里分配的内存挪到线程外面。既然是调用TerminateThread,那就是到了不得已的地步了,慎用这个函数。
正确的做法是,ResumeThread先让线程运行,再用WaitForSingleObject等待线程一短段时间。如果线程里有循环,你可以创建一个退出事件(Event),线程里每执行一步循环就用if( WaitForSingleObject( hExitEvent, 0 ) == WAIT_OBJCT_0 )则return。而主线程里需要设置这个事件,再用WaitForSingleObject等待线程退出。
chqu18
2004-08-26
打赏
举报
回复
应该要先ResumeThread吧,要不这样去终止一它可能会有资源不释放.
hjhd0
2004-08-26
打赏
举报
回复
像windows_editor(天鹅飞去鸟不归 回峰山中我独醉) 说的
线程的函数在设计的时候就要能相应退出消息 (在while循环内)
rwdx
2004-08-26
打赏
举报
回复
唤醒它,让你自己end,要不就Terminate
danielzhu
2004-08-26
打赏
举报
回复
先 ResumeThread,然后
AfxEndThread或者return 0;
如果ResumeThread,那么线程就会等待操作系统的ResumeThread事件,如果没有强制结束(TerminateThread)该线程,那么它就是一直处于挂起状态。
windows_editor
2004-08-26
打赏
举报
回复
挂起后不resume 那就不能让线程自己释放了, 只有Terminate
lewice
2004-08-25
打赏
举报
回复
我就是想知道不resumeThread,能否中止线程
danielzhu
2004-08-25
打赏
举报
回复
先 ResumeThread,然后
AfxEndThread或者return 0;
内存泄漏
2004-08-25
打赏
举报
回复
如果线程代码在堆中分配了内存,都会没有机会得到释放,确实会引起内存泄漏。。 微软也提醒要小心使用的。
lianglp
2004-08-25
打赏
举报
回复
那样的话,楼主这个问题就不好办了。
windows_editor
2004-08-25
打赏
举报
回复
终止?
如果线程正在循环
发送自定义消息, 线程收到这个消息后break循环,就可以了
lewice
2004-08-25
打赏
举报
回复
TerminateThread(),我听说不用它比较好,内存会漏的
lianglp
2004-08-25
打赏
举报
回复
TerminateThread()不可以吗?
执行
挂起
状态
线程
的终止与暂停
Suspend
Thread
、Resume
Thread
、Exit
Thread
和Terminate
Thread
函数均能够实现停止
一个
线程
的进行,但它们的含意又是不同的。 1)
Suspend
Thread
和Resume
Thread
。
Suspend
Thread
函数用于
挂起
指定的
线程
,当
线程
被
挂起
,...
线程
的
挂起
和唤醒为什么不用
suspend
()和resume()
如果用
suspend
()方法将
线程
挂起
,
线程
占有的资源不会被释放,很有可能让其他
线程
死锁。 package
Suspend
; public class
Suspend
Demo implements Runnable { private static Object obj = new Object(); @...
MFC之
线程
(开启、
挂起
、恢复、终止)
MFC之
线程
(开启、
挂起
、恢复、终止) MFC中
线程
有UI
线程
和工作者
线程
两种,下面分享一下MFC工作者
线程
的相关操作,包括
线程
的开启、
挂起
、恢复和终止。 流程:1.列举用法 2.案例展示 一:MFC
线程
的开启 CWin
Thread
*...
第6课:终止
线程
closehandler 如果不关闭句柄的话,可能造成资源泄露
挂起
线程
:
Suspend
Thread
可以
挂起
127次
线程
挂起
线程
N次就需要恢复
线程
N次,但是不会大于127次终止
线程
:Exit
Thread
该函数将终止
线程
的执行,并导致操作系统...
linux下 如何用信号signal 终止或者暂停子
线程
,linux下实现
线程
暂停
记得在windows下有
一个
Suspend
Thread
使
线程
挂起
的函数,却发现linux下没有类似的函数,于是想自己写个。。刚开始就想到用信号(没办法,正在看auep,只能想到这个)test1:用p
thread
_kill将SIGSTOP信号发送到要暂停的...
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章