关于TThread类的Suspend()方法和Resume()方法.


    并不是只要调用了Resume()线程就能继续执行,这个函数执行的效果根据该线程的暂停计数(suspend count)来确定.
    每个线程都有一个暂停计数(最大MAXIMUM_SUSPEND_COUNT),如果一个线程的暂停计数大于0,那么线程就会被暂停,否则不会被暂停,并且为可执行状态.
-------------------------------------------------------
Resume()方法内部调用了ResumeThread,它返回当前的暂停计数.

DWORD ResumeThread(
  HANDLE hThread
);
ResumeThread会检查这个计数的值,如果是0,此线程不会被暂停.否则将其减少1,如果减少后计数是0 了,线程就会被继续执行.

返回值:

如果返回0,该线程不会被暂停.

返回1,线程不会被暂停,但是被重新开始.

返回值大于1,线程会被继续暂停.
------------------------------------------------------
Suspend()方法内部调用了SuspendThread;
该函数将使得线程被暂停,并且其暂停计数增加1.并返回当前的暂停计数. 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值