读书人

Sleep()的一个疑问,该如何解决

发布时间: 2012-03-28 15:40:03 作者: rapoo

Sleep()的一个疑问
Sleep()的作用是挂起当前线程,这个“当前”的确切含义是什么呢?

像我这样的程序(单线程程序):
class B
{
void TimerStart()
{
Sleep(200);
SetTimer(...);
Sleeep(200);
SetTimer(...);
}
}
class A
{
...
B *b=new B();
b->TimerStart();
...
}
我想知道:这个Sleep()是挂起B的执行还是A的执行呢?(这是一个单线程程序)

[解决办法]
都在一个线程里有区别吗?
何况这代码有问题
[解决办法]
你现在只创建了两个类,而没有创建线程啊
这样的程序只在一个主线程中运行着
[解决办法]
我想知道:这个Sleep()是挂起B的执行还是A的执行呢?(这是一个单线程程序)
===============
Sleep挂起的是线程,你上面的代码就只有一个线程,当然就是挂起这个线程了,哪来的A和B啊,A和B只是类,还不是在一个线程中。

[解决办法]
A、B是两个不同的类
在同一个线程中,所以挂起的是当前线程
如果Sleep的参数为0,则不进行挂起操作,只是放弃当前线程的时间片,线程进入下一个调度周期

读书人网 >VC/MFC

热点推荐