linux中usleep和sleep的功能和使用存在什么区别
Admin 2022-08-17 群英技术资讯 1076 次浏览
在这篇文章中,我们来学习一下“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中,错误输出重定向指的是“把错误的输出信息写入到一个文件中去”;输出重定向是重新指定设备来代替显示器作为新的输出设备,重定向中通常是用文件或命令的执行结果来代替键盘作为新的输入设备,而新的输出设备一般指的就是文件。
Linux系统怎么使用awk命令处理文字数据?Linux系统想要对文字进行操作,我们可以使用awk命令来实现,下面我们就来看看详细的教程,需要的朋友可以参考下
在linux中,RAID是指“磁盘阵列”,有“独立磁盘构成的具有冗余能力的阵列”之意,主要是解决访问数据的存储速度问题;它是由多个独立的高性能磁盘驱动器组成的磁盘子系统,从而提供比单个磁盘更高的存储性能和数据冗余的技术。RAID的功能有:1、扩大存储能力;2、降低单位容量的成本;3、提高存储速度;4、可靠性;5、容错性,容错阵列中如有单块硬盘出错,不会影响到整体的继续使用。
Li对于电脑新手来说,可能并不清楚默认网关是什么,对默认网关的简单理解就是路由器的IP地址,要有正确的网关配置才能保证用户可以上网。对于默认网关的设定有手动设置和自动设置这两种,
linux修改权限的语句是“chmod [-R] 权限值 文件或者目录名”;该语句可以修改指定文件的权限,chmod命令是控制用户对文件的权限的命令,权限的设置方法可以采用文字或者数字代号;文件调用权限可以分为文件所有者、用户组和其他用户。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008