多线程中Sleep的作用

来源:互联网 发布:世界图书出版社 知乎 编辑:程序博客网 时间:2024/04/30 15:47

在<Windows核心编程>一书中,是这样写的:

  使用Sleep, 线程可以告诉系统,在一段时间内自己不需要调度。

Sleep函数的原型:

           void  Sleep(DWORD dwMilliseconds);

使用这个函数需要注意几点:

   1、使用Sleep函数,将使线程自愿放弃属于它的时间片中剩下的部分。

   2、系统设置线程不可调度的时间只是“近似于”所设定的毫秒数。

   3、可以将dwMilliseconds的值设置为INFINITE。只是告诉系统永远不要调用此线程。

   4、可以将dwMilliseconds的值设置为0。这个是告诉系统,主调线程放弃了时间片的剩余部分,强制

         系统调用其他线程。注意:系统有可能重新调用刚刚调用了Sleep的那个线程,如果咩有相同或者

         有较高优先级的可调度线程时,就会发生这种事情。

 

原创粉丝点击