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

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


示例:
#include <windows.h>
#include<stdio.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时间




时钟换算:
微秒,时间单位,符号us(英语:microsecond ).
1微秒等于百万分之一秒(10的负6 次方秒)
0.000 001 微秒 = 1皮秒
0.001 微秒 = 1纳秒
1,000 微秒 = 1毫秒
1,000,000 微秒 = 1秒
1s = 1000ms
1ms = 1000μs
1μs = 1000ns
1ns = 1000ps
1秒(s) = 1000 毫秒(ms) = 1,000,000 微秒(μs) = 1,000,000,000 纳秒(ns) = 1,000,000,000,000 皮秒(ps)
`usleep` 命令在 Linux 中用于暂停程序的执行,暂停的时间以微秒(百万分之一秒)为单位。它通常用于需要在程序中引入短暂延迟的场景。 以下是 `usleep` 命令的基本用法: ```bash usleep [number] ``` 其中 `[number]` 是一个整数,表示要暂停的微秒数。例如,要暂停程序执行 1 秒(即 1,000,000 微秒),可以使用以下命令: ```bash usleep 1000000 ``` ### 示例 假设你有一个简单的脚本 `example.sh`,内容如下: ```bash #!/bin/bash echo "开始暂停..." usleep 5000000 echo "暂停结束。" ``` 在这个脚本中,程序会先输出 "开始暂停...",然后暂停 5 秒(5,000,000 微秒),最后输出 "暂停结束。" ### 使用方法 1. 创建脚本文件 `example.sh` 并添加上述内容。 2. 赋予脚本执行权限: ```bash chmod +x example.sh ``` 3. 运行脚本: ```bash ./example.sh ``` ### 注意事项 - `usleep` 命令在某些系统上可能不可用,特别是在非类 Unix 系统上。 - `usleep` 是一个 POSIX 标准函数,通常在 C 语言中使用,而不是一个独立的命令。如果你的系统中没有 `usleep` 命令,可以使用 `sleep` 命令代替,`sleep` 命令的默认单位是秒。 ### 替代方法 如果系统中没有 `usleep` 命令,可以使用 `sleep` 命令结合 `awk` 或 `perl` 来实现微秒级的暂停。例如,使用 `perl`: ```bash perl -e 'select(undef, undef, undef, 0.005)' ``` 这个命令会暂停 5 毫秒(即 5,000 微秒)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北雨南萍

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值