新闻资讯
看你所看,想你所想

Sleep函式

Sleep函式

Sleep函式

Sleep函式可以使电脑程式(进程,任务或执行绪)进入休眠,使其在一段时间内处于非活动状态。当函式设定的计时器到期,或者接收到信号、程式发生中断都会导致程式继续执行。

基本介绍

  • 中文名:Sleep函式
  • 外文名:Sleep Function
  • 功 能:执行挂起一段时间
  • 用 法:void Sleep(DWORD ms);
  • 单位:毫秒
  • 系统:Windows、Linux

用法

sleep()函式的调用需要一个时间作为参数,代表程式执行挂起的时间间隔。通常参数的单位是秒,但在一些更加精确的作业系统中能以毫秒甚至是微秒为单位。

Windows系统

在Windows作业系统中,sleep()函式需要一个以毫秒为单位的参数代表程式挂起时长,sleep()函式包含在kernel32.dll动态程式库中,但在批处理档案中没有可以直接运行的sleep()函式。可以在如Windows 2003资源包等Windows工具集中找到sleep()函式。

Unix系统

在Unix类的作业系统中,调用sleep()函式需要一个以秒为单位的参数,需要更精确的时间控制可以使用nanosleep()函式。

C语言实例

在Windows系统中:
    Sleep(2*1000); //sleep for 2 seconds
在Unix系统中:
    sleep(2);   //sleep for 2 seconds

注意

在VC中Sleep中的第一个英文字元为大写的"S"
在标準C中是sleep(S不要大写),下面使用大写的来说明,具体用什幺看你用什幺编译器。简单的说VC用Sleep,别的一律使用sleep。
Sleep函式的一般形式:
Sleep(unsigned long);
其中,Sleep()里面的单位,是以毫秒为单位,所以如果想让函式滞留1秒的话,应该是Sleep(1000);
在Linux下,sleep中的“s”不大写
sleep()单位为秒,usleep()里面的单位是微秒。在核心中,sleep的实现是由pause函式和alarm函式两个实现的。
特别注意在Codeblocks环境下是无法使用sleep函式的,因为在windows上Codeblocks採用mingw(Gnu在Window环境下的编译器,可以充分使用WindowsApi)作为编译器,而在stdlib.h中sleep的说明如下:_CRTIMP void __cdecl __MINGW_NOTHROW _sleep (unsigned long) __MINGW_ATTRIB_DEPRECATED;可以认为mingw捨弃了sleep函式,建议用Sleep实现sleep。

示例

#include <windows.h>
#include<stdio.h>
int main()
{
int a;
a=1000;
printf("你");
Sleep(a);/* VC 使用Sleep*/
printf("好"); /*输出“你”和“好”之间会间隔一千毫秒,即间隔一秒,Sleep()的单位为毫秒*/
return 0;
}

转载请注明出处海之美文 » Sleep函式

相关推荐

    声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:ailianmeng11@163.com