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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • SSL和SSH有什么区别

    SSL和SSH有什么区别

    2021年10月8日
    42
  • 重启IBMP750小型机之后:telnet登陆相当缓慢以及xmanger登陆工具无法打开图形界面的解决…

    重启IBMP750小型机之后:telnet登陆相当缓慢以及xmanger登陆工具无法打开图形界面的解决…shutdown-Fr重启IMB小机之后,使用xmanger工具telnet小机,可以打开telent,但是大约40多秒之后,才能登陆到机器,重启之前,telnet打开就能登陆。[@more@]原因是:该台小型机配置了DNS服…

    2022年6月22日
    47
  • WordPress个人博客美化

    WordPress个人博客美化WordPress 个人博客美化个人博客 https www xiaohuangyr top 有兴趣可以访问一下以下截图是电脑端访问的效果 和手机差很多一 基本概念 1 起因双十一的时候 因为阿里云折扣力度很大 就购买了三年的 ECS 云服务器 又在阿里云购买了一个域名 配置如下 CPU amp 内存 1 核 2GiB 操作系统 Ubuntu20 0464 位实例规格 ecs n4 small 实例规格族 共享计算型随后在云服务器上安装了宝塔面板 然后利用 WordPress 部署搭

    2025年11月3日
    3
  • Java main方法

    Java main方法publicstaticvoidmain(String[]args){}或者 publicstaticvoidmain(Stringargs[]){}main方法是我们学习Java语言学习的第一个方法,也是每个java使用者最熟悉的方法,每个Java应用程序都必须有且仅有一个main方法。在eclipse里可以使用输入main,在按住Alt+/的方式快速创建main方法

    2022年6月1日
    38
  • html中的空格怎么写,html中空格代码是什么?(总结)

    html中的空格怎么写,html中空格代码是什么?(总结)首页>web前端>html教程>正文HTML中空格代码是什么?(总结)原创2018-08-对于新手小白来说,html空格符号代码的书写可能有点茫然,那么本篇文章就给大家总结介绍关于html空格代码的多种表示方法。希望对大家有一定的帮助。HTML提供了6种空格(),它们拥有不同的宽度。一、nbsp;非断行空格,是常规空格的宽度,可运行于所有主流浏览器。其它几种空格(ensp;、em…

    2022年6月21日
    70
  • 动态规划之背包问题(C语言)

    动态规划之背包问题(C语言)动态规划动态规划(英语:Dynamicprogramming,简称DP)是一种通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。动态规划常常适用于有重叠子问题和最优子结构性质的问题动态规划思想大致上为:若要解一个给定问题,我们需要解其不同部分(即子问题),再合并子问题的解以得出原问题的解。由于通常许多子问题非常相似,为此动态规划法试图仅仅解决每个子问题一次,从而减少计算

    2022年7月14日
    24

发表回复

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

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