linux下的sleep()和usleep()的使用和区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux下的sleep()和usleep()的使用和区别相关的知识,希望对你有一定的参考价值。

函数名: sleep
头文件: #include<windows.h> // 在VC中使用带上头文件
              #include<unistd.h>    // 在gcc编译器中,使用的头文件因gcc版本的不同而不同
功  能: 执行挂起指定的秒数
语  法: unsigned sleep(unsigned seconds);

 

#include<stdio.h>
#include<stdlib.h>
#include<time.h>

int main()
{
    int a;
    a=1;
    printf("hello");
    sleep(a);        /* VC 使用Sleep*/
    printf("world");
    return 0;
}

 

  

函数名: usleep
头文件: #include <unistd.h>
功 能: usleep功能把进程挂起一段时间, 单位是微秒(百万分之一秒);
语 法: void usleep(int micro_seconds);
返回值: 无
内容说明:本函数可暂时使程序停止执行。参数 micro_seconds 为要暂停的微秒数(us)。

注 意:
这个函数不能工作在windows 操作系统中。用在Linux的测试环境下面。
参 见:usleep() 与sleep()类似,用于延迟挂起进程。进程被挂起放到reday queue。
在一般情况下,延迟时间数量级是秒的时候,尽可能使用sleep()函数。
如果延迟时间为几十毫秒(1ms = 1000us),或者更小,尽可能使用usleep()函数。这样才能最佳的利用CPU时间

以上是关于linux下的sleep()和usleep()的使用和区别的主要内容,如果未能解决你的问题,请参考以下文章

linux 的sleep()、usleep()、nanosleep()函数

sleep()和usleep()的使用和区别

linux c的四种定时方式(sleep/usleep/select/ioctl)

在 PHP 中 sleep 和 usleep 的行为是不是不同?

linux shell脚本中的延时

sleep()和usleep()