首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

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

2012-03-28 
Sleep()的一个疑问Sleep()的作用是挂起当前线程,这个“当前”的确切含义是什么呢?像我这样的程序(单线程程序

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,则不进行挂起操作,只是放弃当前线程的时间片,线程进入下一个调度周期

热点排行