• Windows编程--线程的睡眠方式



    线程也能告诉系统,它不想在某个时间段内被调度。这是通过调用Sleep函数来实现的:

    VOID Sleep(DWORDdwMilliseconds);

    该函数可使线程暂停自己的运行,直到dwMilliseconds过去为止。关于Sleep函数。

    有下面几个重要问题值得注意:

    1、调用Sleep,可使线程自愿放弃它剩余的时间片

    2、系统将在大约的指定毫秒数内使线程不可调度。如果告诉系统,想睡眠100ms,那么可以睡眠大约这么长时间,但是也可能睡眠数秒钟或者数分钟。记住, Windows不是个实时操作系统。虽然线程可能在规定的时间被唤醒,但是它能否做到,取决于系统中还有什么操作正在进行。

    3、可以调用Sleep,并且为dwMilliseconds参数传递INFINITE这将告诉系统永远不要调度该线程这不是一件值得去做的事情。最好是让线程退出,并还原它的堆栈和内核对象

    4、可以将0传递给Sleep。调用线程将释放剩余的时间片,并迫使系统调度另一个线程。但是,系统可以对刚刚调用Sleep的线程重新调度。如果不存在多个拥有相同优先级的可调度线程,就会出现这种情况。

    FangSH 2010-12-28

  • 相关阅读:
    Http状态吗504问题复盘
    Http状态码502问题复盘
    Nginx服务的基本配置
    mysql修改root密码
    centos7开启80端口及其他端口
    tp5隐藏入口文件(基于nginx)
    使nginx支持pathinfo模式
    laravel-admin 上传图片过程中遇到的问题
    Maven介绍
    java中泛型
  • 原文地址:https://www.cnblogs.com/fangshenghui/p/1926331.html
Copyright © 2020-2023  润新知