社区
进程/线程/DLL
帖子详情
对阻塞中的线程调用SuspendThread,会发生什么事?
keenleung
2006-08-07 02:44:03
1、不用google、baidu等search
2、不写程序试验
...全文
285
5
打赏
收藏
对阻塞中的线程调用SuspendThread,会发生什么事?
1、不用google、baidu等search 2、不写程序试验
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
keenleung
2006-08-08
打赏
举报
回复
楼上说的够详细,可惜分少了点,请笑纳
僵哥
2006-08-07
打赏
举报
回复
另外还有个问题,就是如果在内部有分配相当的资源的话,如果被Suspend的时间比较长,则该部分资源将会被从物理内存转移到磁盘缓冲区当中,从而使得再次被唤醒之后,到进入正常工作状态,需要相当的时间,特别是Low Memory状态下.
僵哥
2006-08-07
打赏
举报
回复
阻塞,通常是由于等待外部消息或事件,比如IO的完成等.
而如果你把正在阻塞的线程Suspend掉,则当消息或事件得以通知时,将被会被阻塞.直到该线程被再次唤醒之后,才会继续对相应的消息或事件进行处理.如此可能带出来的问题是等待它的消息或事件的线程或事务也将被挂起.以后部分时效性(通常以时间单位衡量)的任务得不到继续,甚至是出现异常.比如IO或事件等待超时等(通常等待消息的可能性比较少,除极特殊情况外,大部分时间里对消息都仅只是检索).
DentistryDoctor
2006-08-07
打赏
举报
回复
SuspendThread vs ResumeThread
robin_yao
2006-08-07
打赏
举报
回复
个人认为:
如果你不ResumeThread的话,那么这个thread一直挂起在那边(即使它已经过了阻塞时间了)
因为Each thread has a suspend count ,Calling SuspendThread causes the target thread's suspend count to be incremented。
所以一个SuspendThread对应一个ResumeThread
MFC
线程
处理概述.doc
在MFC
中
,多
线程
编程是通过CWin
Thread
类来实现的,它封装了Win32 API的
线程
处理接口,提供了更方便的
线程
管理和操作方式。 CWin
Thread
类是MFC
中
处理
线程
的核心,它利用
线程
本地存储(TLS,
Thread
Local Storage)来...
vc 多
线程
集合,
调用
,参数传递
标题和描述提及的“vc 多
线程
集合,
调用
,参数传递”主要涵盖了如何在Microsoft Visual C++ (VC++)环境
中
创建和管理多
线程
,以及如何在不同
线程
之间传递参数。 多
线程
的引入是为了解决单
线程
程序在执行长时间任务时...
暂停
线程
工具(附源码)
在多
线程
环境下,有时候我们需要对
线程
进行控制,比如暂停或恢复某个
线程
的执行,以便进行调试、同步或其他操作。标题提到的“暂停
线程
工具”就是这样一个实用程序,它提供了暂停和恢复
线程
的功能,并且附带了源代码...
怎么干净的终止一个
线程
3. 修改
调用
栈:利用ESP寄存器,我们可以找到
线程
调用
栈的位置,并在栈
中
插入一个新的EIP值。这个新的EIP应该指向一个预先定义好的函数,例如我们称为`ThrowFun`的函数,这个函数
会
抛出一个异常。 4. 设置
线程
上...
linux
线程
的挂起与恢复
在
线程
进入这个函数后,它首先锁定互斥锁,然后在一个循环
中
调用
`p
thread
_cond_wait`,这个函数
会
释放互斥锁并使当前
线程
等待条件变量`wqy_cond_pause`。当条件变量被广播时,
线程
会
被唤醒,并重新获得互斥锁,退出...
进程/线程/DLL
15,473
社区成员
49,171
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章