sleep函数

本文转载自:https://blog.csdn.net/huang1600301017/article/details/89581870

例子:sleep(2);系统挂起两毫秒,或者线程2毫秒之后执行

一、Sleep()函数的理解

Sleep(0) 的意义是放弃当前线程执行的时间片,把自身放到等待队列之中。这时其它的线程就会得到时间片进行程序的程序。Sleep(0)能够降低当前线程的执行速 度,比如:现在系统中有100个线程(先假设是线程吧)在执行不同的任务,并且它们执行的优先级都是一样的,并且它们每一次分配的时间片的长度都是一样 的。那么现在当前线程中有一个Sleep(0),那么对于当前线程获得时间片的等待时间延长了1倍,也就是说相当于 200 个时间片之后再得到时间片执行任务。

标准库中无该函数

但在某些编译系统中有,在有些系统库中有,要根据你那边的环境而定。
如:

linux中有,unsigned int sleep(unsigned int seconds),传入挂起时间,成功返回0,不成功则返回余下的秒数。
windows系统中有Sleep函数(注意大写),void Sleep(DWORD dwMilliseconds); 提供挂起的毫秒数。

Sleep就是结束当前时间片,把自己挂起,进入等待队列,等待dwMilliseconds毫秒时间后,再进入就绪队列,直到获得时间片运行

例如:

#include<iostream>
#include<windows.h>
using namespace std;
int main()
{
Sleep(3000);//暂停3秒  S要大写
return 0;
}

转自https://www.cnblogs.com/zhaoxinshanwei/p/4036264.html

二、Sleep()函数的使用

头文件:Windows下为--> windows.h

              Linux 下为 --> unistd.h

注意:(1)Sleep是区分大小写的,有的编译器是大写,有的是小写。

         (2)Sleep括号里的时间,在windows下是已毫秒为单位,而Linux是以秒为单位

三、意义

如果是在GUI界面中的话,是不推荐使用Sleep()的,它会直接阻塞住GUI 线程,造成你的界面卡住,这对于用户体验上来说,是非常不妙的,在多线程中使用比较合适,能够更多的控制线程。特别是在Python中,经常使用Sleep(),用它来防止线程阻塞。

以上是我在网络上收集到的比较好的材料,做个笔记,如说的不对,请指正!

原文地址:https://www.cnblogs.com/1149825709qq/p/13424486.html