社区
进程/线程/DLL
帖子详情
关于线程的suspend和resume问题
PatrickGamp
2001-02-12 04:01:00
我的主线程生成一个子线程,子线程总在运行,一个变量BOOL bFlag为真时子线程执行任务,为假时调用::SuspendThread,子线程挂起。主线程有任务时设置bFlag为真即可。但是,我怎样判断该子线程是不是出了意外而终止了?
...全文
144
4
打赏
收藏
关于线程的suspend和resume问题
我的主线程生成一个子线程,子线程总在运行,一个变量BOOL bFlag为真时子线程执行任务,为假时调用::SuspendThread,子线程挂起。主线程有任务时设置bFlag为真即可。但是,我怎样判断该子线程是不是出了意外而终止了?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xiao_zhu
2001-02-13
打赏
举报
回复
除了用xyzboat的方法外,还可以用
hThread=_beginthreadex(...);
if(WaitForSingleObject(hThread,0)!=WAIT_OBJECT_0)
{
if(bFlag)
{
ResumeThread(hThread);
}
else
SuspendThread(hThread);
}
else
//线程终止时的处理;
jinxi_gao
2001-02-13
打赏
举报
回复
kankan
Kaile
2001-02-12
打赏
举报
回复
请问从MSDN中如何查到EXITCODE
的具体数值
xyzboat
2001-02-12
打赏
举报
回复
DWORD dwExitCode;
if( ::GetExitCodeThread ( pYourThread->m_hThread , &dwExitCode ) )
if ( STILL_ACTIVE == dwExitCode )
{
...
}
判断返回值来确定是否你的线程已经终止
线程
外部挂起恢复控制(不使用
Suspend
与Re
sum
e中止
线程
)
自.NET 2.0以来,Thread.
Suspend
()与Thread.Re
sum
e()方法已过时,VS提示可以使用如Monitor等技术,但是对于刚接触同步控制的人来说理解起来太复杂。本人利用Thread.Abort()与Thread.Interrupt()可以引起目标
线程
异常的特点,开发了一种不使用已过时的方法来变相从外部控制
线程
的挂起与恢复的技术,原理简单,方便理解。 相关技术参考:http://msdn.microsoft.com/zh-cn/library/system.threading.thread.interrupt.aspx
C#中的
线程
(四)高级话题
非阻止同步 Wait和Pulse
Suspend
和Re
sum
e 终止
线程
C# 多
线程
教材
C#多
线程
教材 入门 概述与概念 创建和开始使用多
线程
线程
同步基础 同步要领 锁和
线程
安全 Interrupt 和 Abort
线程
状态 等待句柄 同步环境 使用多
线程
单元模式和Windows Forms BackgroundWorker类 ReaderWriterLock类
线程
池 异步委托 计时器 局部储存 高级话题 非阻止同步 Wait和Pulse
Suspend
和Re
sum
e 终止
线程
概
Java秒表源代码下载 GUI界面
Java实现秒表功能,GUI界面。同过多
线程
的方法实现,调用Thread.
suspend
()和Thread.re
sum
e()方法。
线程
之
suspend
和re
sum
e方法
suspend
() 和 re
sum
e() 方法:两个方法配套使用,
suspend
()使得
线程
进入阻塞状态,并且不会自动恢复,必须其对应的 re
sum
e() 被调用,才能使得
线程
重新进入可执行状态。
suspend
() 和 re
sum
e() 方法有很多缺点。下面将其缺点列举一二 1.当
suspend
() 和 re
sum
e() 方法使用不当时极容易造成公共同步对象的独占,使其他
线程
无法访问公
进程/线程/DLL
15,472
社区成员
49,183
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章