zoukankan      html  css  js  c++  java
  • 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(),用它来防止线程阻塞。

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

  • 相关阅读:
    element-ui中tabs页设置第一个页面不可关闭
    验证实现element-ui树形控件的自定义图标及右键菜单
    vue项目接口地址的定义
    js数组与字符串的相互转换方法
    vue的双向绑定原理及实现
    vue中的懒加载和按需加载
    使用gulp将移动端px转为rem
    百度搜索--jquery
    关于Ajax中http协议
    用nodejs搭建一个简单的服务器
  • 原文地址:https://www.cnblogs.com/1149825709qq/p/13424486.html
Copyright © 2011-2022 走看看