linux中的sleep函数和delay函数

linux中的sleep函数和delay函数对于做过单片机程序的朋友来说,delay是很常见的函数,通常就是while或者for循环,进行空指令的执行,由于单片机的晶振固定,一个机器周期的时间是固定的,执行多少个空指令,就可以完成多少个机器周期时长的延时。其实在linux中的delay函数,道理是一样的,都是通过cpu执行空指令来达到延时的目的,但是对于操作系统这种多线程进行的方式来说,在需要延时的时候,可以通过将进程挂起的方式来实现延时。这就是sleep函数。sleep和delay的区别最明显也最重要的区别就是,在执行delay的时候,是执行

大家好,又见面了,我是你们的朋友全栈君。

对于做过单片机程序的朋友来说,delay是很常见的函数,通常就是while或者for循环,进行空指令的执行,由于单片机的晶振固定,一个机器周期的时间是固定的,执行多少个空指令, 就可以完成多少个机器周期时长的延时。其实在linux中的delay函数,道理是一样的,都是通过cpu执行空指令来达到延时的目的,但是对于操作系统这种多线程进行的方式来说,在需要延时的时候,可以通过将进程挂起的方式来实现延时。这就是sleep函数。

sleep和delay的区别

最明显也最重要的区别就是,在执行delay的时候,是执行了空指令,虽说是空的,但是还是会占用硬件资源,cpu要进行运算。而sleep是将此进程挂起,cpu还会执行其他进程,待到时间到,再恢复此进程。两者对比可以看出,sleep执行的时候,节省系统资源,但是弊端是sleep的定时并没有那么准确,因为是通过进程切换来实现的,delay则是严格按照机器周期来计算,而且sleep不能适用于时间太短的延时,delay可以精确到us。

应用场景

当我们希望执行一个脚本之后延时五秒再执行另外一个脚本,这个时候就可以用sleep。
当我们在设置一个芯片的各种引脚时序的时候,间隔较短且要求更准确,就需要delay。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/144797.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • php设置header参数_php发送get请求

    php设置header参数_php发送get请求voidheader(stringstring[,boolreplace[,inthttp_response_code]])voidheader(stringstring[,boolreplace[,inthttp_response_code]])header()是用来发送HTTPHeader的。replace是个可选的参数,指示是否替代一个先期相

    2022年8月24日
    4
  • 批处理 for命令_文件批处理命令

    批处理 for命令_文件批处理命令对所有的批处理初学者来说,for的应用是最难理解以及掌握的。本文由浅入深,为大家专门讲解for的用法,希望大家喜欢。首先应该明确的是,for不是一个简单的命令,它的用法比较复杂,它还可以带四个参数(/L/D/R/F),其中:/L和/F参数是最经常用到的。当然,它本身也可以不带参数,下面我们通过具体的例子来讲解for的运用。一、不带参数的for:@echo

    2022年10月12日
    0
  • 工作流引擎Activiti使用总结[通俗易懂]

    工作流引擎Activiti使用总结[通俗易懂]转载自:工作流引擎Activiti使用总结1.简单介工作流引擎与Activiti对于工作流引擎的解释请参考百度百科:工作流引擎1.1我与工作流引擎在第一家公司工作的时候主要任务就是开发OA系统,当然基本都是有工作流的支持,不过当时使用的工作流引擎是公司一些牛人开发的(据说是用一个开源的引擎修改的),名称叫CoreFlow;功能相对Activiti来说比较弱,但是能满足日常的使用,当然也有不少的问…

    2022年7月11日
    26
  • IDEA中MAVEN项目打JAR包的简单方法

    IDEA中MAVEN项目打JAR包的简单方法Idea中为一般的非Web项目打Jar包是有自己的方法的,网上一搜就能查到很多。但是如果是为Maven项目打Jar包,其实是很简单的,因为maven本身就有打Jar包的命令。最简单的方法  首先是在maven项目的pom.xml中添加打包的插件,这里有很多种方式的。最最简单的就是只使用maven-compiler-plugin、maven-jar-plugin插件,并且指定程序入…

    2022年6月19日
    39
  • Xenu-死链接检测工具「建议收藏」

    Xenu-死链接检测工具「建议收藏」Xenu是一款深受业界好评,并被广泛使用的死链接检测工具。时常检测网站并排除死链接,对网站的 SEO 非常重要,因为大量死链接存在会降低用户和搜索引擎对网站的信任。我们推荐的死链接检测工具Xenu主要具有以下特征:需要下载安装,不到1M大小,用户界面非常简洁,操作简单。检测彻底:能够检测到图片、框架、插件、背景、样式表、脚本和java程序中的链接。报告形式合理多样

    2022年7月23日
    9
  • 玄门日诵早坛功课经注解_玄门日诵晚课经文

    玄门日诵早坛功课经注解_玄门日诵晚课经文加“◎”处十方韵功课中一般不诵,诸括号内为各部分名称,亦不诵此为在青羊宫董至光道长手打版本的基础上,我参照西安万寿八仙宫念诵音频加以断句与别字修正后的版本,太上玄门日诵早课仙经[澄清韵]琳琅振响十方肃清河海静默山岳吞烟万灵振伏招集群仙天无氛秽地无妖尘冥慧洞清大量玄玄也[举天尊]大罗三宝天尊◎[小提纲]灵音到处灭罪消愆宝号宣时扶危救难将当有开坛演教之偈仰劳道众随声应和[双吊挂]上坛齐举

    2025年7月16日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号