文档章节

线程SuspendThread() ResumeThread()的使用

rainbowcode
 rainbowcode
发布于 09/16 16:26
字数 296
阅读 10
收藏 0

SuspendThread():挂起线程 If the function succeeds, the return value is the thread's previous suspend count; otherwise, it is (DWORD) -1.

ResumeThread():启动线程  If the function succeeds, the return value is the thread's previous suspend count; otherwise, it is (DWORD) -1.

If the return value is zero, the specified thread was not suspended. If the return value is 1, the specified thread was suspended but was restarted.

If the return value is greater than 1, the specified thread is still suspended.

在满足条件时启动线程,不满足条件时挂起线程

CWinThread *pthread;
创建线程
pthread=AfxBeginThread(ThreadProc,(LPVOID)this,THREAD_PRIORITY_NORMAL,0,CREATE_SUSPENDED,NULL)
if(condition)
{
        DWORD r=pthread->ResumeThread();
        if(r==-1)
            "启动线程失败"
}
else
{//挂起线程
        DWORD suspendcount=pthread->SuspendThread();
        if(suspendcount==-1)
             "挂起线程失败"
        else
        {
                for (DWORD i = 0; i < suspendcount; i++)//如果挂起多次,需要启动多余挂起的次数,保证只挂起一次,否则满足条件时线程并不能启动
                {
                     pthread->ResumeThread();
                 }
        }
}

————————————————
版权声明:本文为CSDN博主「long龙儿er」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u010439291/article/details/54562689

© 著作权归作者所有

rainbowcode
粉丝 1
博文 74
码字总数 102412
作品 0
西安
私信 提问
《windows核心编程系列 》谈谈线程调度、优先级和关联性

线程调度、优先级和关联性 每个线程都有一个CONTEXT结构,保存在线程内核对象中。大约每隔20ms windows就会查看所有当前存在的线程内核对象。并在可调度的线程内核对象中选择一个,将其保存在...

长平狐
2012/10/08
399
0
delphi之多线程编程(一)

delphi之多线程编程(一) 本文的内容取自网络,并重新加以整理,在此留存仅仅是方便自己学习和查阅。所有代码均亲自测试 delphi7下测试有效。图片均为自己制作。 多线程应该是编程工作者的基础...

KavenSu
2014/01/22
383
0
delphi 中几种多线程操作方式

在了解多线程之前我们先了解一下进程和线程的关系 一个程序至少有一个主进程,一个进程至少有一个线程。 为了保证线程的安全性请大家看看下面介绍 Delphi多线程同步的一些处理方案大家可以参考...

moodlxs
2015/01/09
112
0
一个线程封装类

class CThread { public: /** * Default Constructor */ CThread() { m_pThreadFunction = CThread::EntryPoint; m_runthread = FALSE; } /** * Default Destructor * also destroys the thr......

嗯哼9925
2017/12/22
0
0
windows 常用thread方法

1.HANDLE CreateThread( InoptLPSECURITYATTRIBUTES lpThreadAttributes, InSIZE_T dwStackSize, InLPTHREADSTARTROUTINE lpStartAddress, InoptdrvaliasesMemLPVOID lpParameter, InDWORD d......

simpower
01/11
20
0

没有更多内容

加载失败,请刷新页面

加载更多

好程序员大数据教程分享Scala系列之模式匹配和样例类

好程序员大数据教程分享Scala系列之模式匹配和样例类 1.样例类 在Scala中样例类是一中特殊的类,样例类是不可变的, 可以通过值进行比较,可用于模式匹配。 定义一个样例类: 构造器中每一个...

好程序员官网
15分钟前
3
0
让nginx上的静态网页在访问的时候没有html后缀

需求背景: 公司产品小姐姐觉得这个访问带html后缀不专业,要求访问不带html后缀 nginx 配置 #原配置 location / { index index.html index.htm index.php; try_files $...

Linux_Anna
16分钟前
3
0
beetl的内置函数

函数调用Beetl内置函数请参考附录,以下列出了常用的函数date 返回一个java.util.Date类型的变量,如 date() 返回一个当前时间(对应java的java.util.Date); ${date( "2011-1-1" , "yy...

gantaos
17分钟前
3
0
spring cloud 2.x版本 Gateway自定义过滤器教程

前言 本文采用Spring cloud本文为2.1.8RELEASE,version=Greenwich.SR3 [toc] 本文基于前两篇文章eureka-server、eureka-client、eureka-ribbon、eureka-feign和spring-gataway的实现。 参考......

毛毛向前冲V5
20分钟前
3
0
VPGAME 的 Kubernetes 迁移实践

作者 | 伍冲斌 VPGAME 运维开发工程师 导读:VPGAME 是集赛事运营、媒体资讯、大数据分析、玩家社群、游戏周边等为一体的综合电竞服务平台。总部位于中国杭州,在上海和美国西雅图分别设立了...

阿里巴巴云原生
25分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部