我使用过的Linux命令之usleep - 延迟以微秒为单位的时间
本文链接:http://codingstandards.iteye.com/blog/1007783
(转载请注明出处)
用途说明
usleep命令用于延迟以微秒为单位的时间(sleep some number of microseconds),实际上达不到这个精度(Probably not accurate on many machines down to the microsecond. Count on precision only to -4 or maybe -5.)。如果系统中没有usleep命令,可采用sleep命令来进行,sleep命令可以指定一个带小数的时间延迟。1秒=1000毫秒=1000,000微秒=1000,000,000纳秒。
常用方式
格式:usleep <us>
延迟<us>微秒。
使用示例
示例一 usleep命令精度测试
[root@jfht ~]# date +%S.%N; usleep; date +%S.%N
04.194798315
04.199352948
[root@jfht ~]# date +%S.%N; usleep; date +%S.%N
12.684509970
12.688986355
[root@jfht ~]# date +%S.%N; usleep 1000; date +%S.%N
33.179766926
33.186719087
[root@jfht ~]# date +%S.%N; usleep 10000; date +%S.%N
45.556317402
45.571467950
[root@jfht ~]# date +%S.%N; usleep 100000; date +%S.%N
59.656176597
59.761001631
[root@jfht ~]# date +%S.%N; usleep 1000000; date +%S.%N
56.700405298
57.704304279
[root@jfht ~]#
示例二 sleep命令精度测试
[root@jfht ~]# date +%S.%N; sleep 1; date +%S.%N
47.111204217
48.115898894
[root@jfht ~]# date +%S.%N; sleep 0.1; date +%S.%N
57.760602228
57.865456080
[root@jfht ~]# date +%S.%N; sleep 0.01; date +%S.%N
08.912279911
08.927840798
[root@jfht ~]# date +%S.%N; sleep 0.001; date +%S.%N
18.171663617
18.176771668
[root@jfht ~]# date +%S.%N; sleep 0.0001; date +%S.%N
27.290651737
27.295785240
[root@jfht ~]#
问题思考
相关资料
【1】NIXway.net usleep (1) 命令参考
http://www.nixway.net/index.php?manitem&mid=2558
【2】LinuxSir.Org ubuntu中usleep命令不可用,要装哪个包呢?
http://www.linuxsir.org/bbs/showthread.php?t=315109
返回 我使用过的Linux命令系列总目录
分享到:
相关推荐
它是衡量时间的一个基本单位,通常与HZ(每秒节拍数)配合使用。jiffies 的值随时间线性增长,可用于计算进程的运行时间、延迟以及其他时间相关操作。 **3.2 忙等延时** 忙等延时是指内核为了等待一定时间而执行空...
这种差异可能导致严重的时间延迟错误,因此,开发人员需替换此类函数,如使用`usleep`代替,后者参数为微秒。此问题强调了深入理解并测试移植代码的重要性,尤其是在处理时间敏感型任务时。 总结而言,从VS2005向...
1. `sleep`函数用于延迟指定的秒数,`usleep`用于延迟微秒。 2. 内核编程中,`ndelay`、`udelay`和`mdelay`提供不同精度的延时功能。 3. 获取当前时间可使用`time`函数,转换成可读格式通常用`ctime`、`asctime`或`...
11. **`sleep()` 和 `usleep()`**: 延迟函数,`sleep()`以秒为单位,`usleep()`以微秒为单位。它们常用于程序中的等待或定时任务。 以上只是Linux C函数手册中的一部分内容,实际的手册会包含更多函数,如网络编程...
- **`sleep()` 和 `usleep()`**:这些函数用于实现毫秒级或微秒级的延迟。但是它们并不总是足够精确。 - **`nanosleep()`**:这个函数提供了更精确的纳秒级延迟控制。 ##### 4.2 测量时间 - **端口I/O延迟**:有...
C语言编程中,我们需要包含相应的头文件,比如在Linux环境下可能是`<sys/io.h>`或`<linux/gpio.h>`,并使用系统调用来配置GPIO引脚为输出模式,并设置其状态(高电平或低电平)以控制灯的开和关。 为了控制灯的闪烁...
在打印星号(*)时,程序利用ANSI转义序列来改变颜色,`\033[31m`设置为红色,`\033[0m`则恢复默认颜色,这样星号就会以红色显示,增加视觉效果。 `usleep(500000)`函数用于延迟执行,这里的参数是500000微秒,即...
这种延迟功能通常通过操作系统提供的API函数(如Windows的Sleep函数或Linux的usleep函数)或者硬件定时器来实现。 描述中没有提供具体的技术细节,但我们可以推测这个31KB的文件可能是一个实现微秒延迟的源代码或...
此外,了解其他时间相关的函数也很重要,如`clock_gettime()`用于获取当前系统时间,`sleep()`和`usleep()`用于延迟执行,以及`gettimeofday()`获取微秒级的时间戳。熟练掌握这些函数可以帮助你在设计计时器时实现更...
3. **时间单位转换**:通常情况下,我们使用毫秒(ms)或微秒(μs)来表示程序执行的时间间隔。1秒等于1000毫秒,也等于1,000,000微秒。 #### 三、模拟进度条的基本思路 模拟进度条的基本思想是使用循环结构来不断更新...
7. `usleep()`函数:用于延迟线程执行,其参数是以微秒为单位的时间,控制游戏循环中蛇的移动速度。 8. **内存结构**:定义了`struct point`结构体来存储蛇的身体坐标,以及食物的位置。数组`SnakeBody`和变量`...
`usleep`命令则默认以微秒为单位,1秒等于1000毫秒,等于1000000微秒。 通过以上知识点,我们可以了解到Docker容器日志管理的相关概念、方法和一些实践技巧。这些知识对于运维人员来说尤为重要,能够帮助他们高效地...
`c_delay.rar_4 3 2 1_c_delay_c语言延时1ms_delay 10_延时程序`这个压缩包文件包含了一些用C语言编写的延时程序,主要目的是为了实现不同时间单位的延迟,比如500毫秒、200毫秒、10毫秒和1秒。这些延时功能在控制...
8. **周期性任务**:`sleep()`函数可用于延迟程序执行,而`usleep()`则用于微秒级别的延迟。这些可以结合使用来实现简单的循环或定时任务。 9. **时间比较**:`DateTime::diff()`方法用于计算两个日期时间之间的...
`usleep()`函数用于添加微秒级别的延迟,以便让浏览器有时间接收和处理内容。 如果上述代码仍然不能按顺序输出,问题可能出在两个方面: 1. **编码设置**:确保浏览器和服务器之间使用的字符编码一致。在代码开始...