linux中usleep和sleep的功能和使用存在什么区别
Admin 2022-08-17 群英技术资讯 837 次浏览
在这篇文章中,我们来学习一下“linux中usleep和sleep的功能和使用存在什么区别”的相关知识,下文有详细的讲解,易于大家学习和理解,有需要的朋友可以借鉴参考,下面就请大家跟着小编的思路一起来学习一下吧。linux中usleep和sleep的区别:sleep函数用于执行挂起指定的秒数,而usleep功能是执行挂起指定的微秒数。sleep是非系统调用,在库函数中实现,是通过alarm()来设定报警时间的,usleep除了时间单位为微秒以外,在使用上与sleep差不多。

本教程操作环境:linux7.3系统、Dell G3电脑。
(1)sleep()-------以秒为单位
头文件:
#include <windows.h> // 在VC中使用带上头文件
#include <unistd.h> // 在gcc编译器中,使用的头文件因gcc版本的不同而不同功 能: 执行挂起指定的秒数
语 法:
unsigned int sleep(unsigned int seconds);
sleep()非系统调用,sleep()是在库函数中实现的,它是通过alarm()来设定报警时间,使用sigsuspend()将进程挂起在信号SIGALARM上。
sleep()只能精确到秒级上。sleep()会令目前的进程暂停,直到达到参数seconds 所指定的时间,或是被信号所中断。
#include<unistd.h>
return:若进程暂停到参数seconds 所指定的时间,成功则返回0,若有信号中断则返回剩余秒数。
示例:
#include <windows.h>
#include<stdio.h>
int main()
{
int a;
a=1;
printf("hello");
sleep(a); /* VC 使用Sleep*/
printf("world");
return 0;
} (2)usleep()----以微秒为单位
头文件:
#include <unistd.h>
功 能: usleep功能把进程挂起一段时间, 单位是微秒(百万分之一秒);
语 法:
void usleep(int micro_seconds);
除了时间单位为微秒以外,在使用上与sleep()差不多。还有就是实现也是不同的,sleep因为是用alarm实现的,所以时间单位为s ,而usleep的时间单位为us
,那肯定不是由alarm实现的,所以说它们的实现不同,但都是linux用的,而window下不能用,因为都是sleep和usleep都是在unistd.h下定义的。
#include<unistd.h>
return:若进程暂停到参数seconds 所指定的时间,成功则返回0,若有信号中断则返回剩余微秒数。
返回值: 无
内容说明:本函数可暂时使程序停止执行。参数 micro_seconds 为要暂停的微秒数(us)。
注 意:
这个函数不能工作在windows 操作系统中。用在Linux的测试环境下面。
参 见:usleep() 与sleep()类似,用于延迟挂起进程。进程被挂起放到reday queue。
是一般情况下,延迟时间数量级是秒的时候,尽可能使用sleep()函数。
如果延迟时间为几十毫秒(1ms = 1000us),或者更小,尽可能使用usleep()函数。这样才能最佳的利用CPU时间
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
linux文件的大小能限制;不同的文件系统对文件大小的限制是不同的,例如ext3文件系统最大支持块数是2的32次方,块数的大小可变,能够直接影响到文件系统的大小和文件的大小,而etx3文件系统能够支持的最大文件大小是2TB。
在linux中,platform是一个虚拟总线,与真实的“spi/sdio/usb/pcie”等总线对应;platform能够把硬件和软件分离出来,platform所描述的资源有一个共同点是在CPU的总线上直接取址,平台设备会分到一个名称以及一系列诸如地址和中断请求号之类的资源。
我们知道Linux系统中的命令有很多,这篇文章我们主要介绍sed命令。Linux中sed命令是利用脚本来处理文件,sed可以依照脚本的指令来处理,便捷文本文件等等,sed命令的功能是很强大的,也是我们比较常用的一个命令,下面小编就和大家说说,怎样使用sed命令来进行数据替换。
今天继续给小伙伴们分享关于“vsftpd配置第二章节”的内容,为了让大家更好的理解这方面的知识点,小编在此整理了相关资料,感兴趣的话一定不要错过了。
Linux如何给文件权限?Linux系统的文件和目录都有权限,想要给文件添加可执行文件,该怎么操作呢?下面我们就来看看linux给文件添加可执行权限的技巧,详细请看下文介绍
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008