windows线程挂起与唤醒,SuspendThread与ResumeThread的一些相关问题

            总结一下,创建进程有好多种方法,

           CreateThread:这个函数WIN32api函数,最好不要用这个函数,会造成一些错误(原因还是很深刻的)

          AfxBeginThread:这个方法是MFC特有的创建线程的方法,是MFC对CreateThread函数的封装,改善了CreateThread的一些不足,并且返回的是一个

         CWinThread  *的类型。

         _beginthreadex:是c/c++运行库,也是对CreateThread函数的封装,避免了其的不足,返回值也可以转换为HANDLE类型。我们创建线程时尽量采用AfxBeginThread与

_beginthreadex函数。


 当我们将,CREATE_SUSPENDED传入到AfxBeginThread函数时,可以让线程在创建时处于挂起状态,他的CPU占用权交出,等待被唤醒。

也可以在运行时使用SuspendThread函数来挂起线程,然后使用ResumeThread函数来唤醒线程,值得注意的是,可以使用SupendThread多次挂起线程,线程有一个挂起计数器,初始值是0,挂起一次(含初始挂起),计数器就自增1,ResumeThread以此就自减1,当此计数器为0的时候,线程就被唤醒开始从挂起的地方开始执行。


      

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值