从Linux应用层和内核两方面来区分下延迟函数:

1. 应用层

1>

sleep usleep

微秒级

头文件为;

3> nanosleep

相比标准UNIX 的sleep 调用具有更高高精度的版本。和普通的sleep 调用计算整秒数不同,nanosleep 接受一个指向一个struct timespec 对象的指针作为参数,它可以表示毫微秒(nanosecond,十亿分之一秒)的时间。然而,了解 Linux 内核的工作细节后可知,nanosleep 所提供的真正精确度是10毫秒——比 sleep 提供的要精确。这个附加的精确度非常有用,比如说,可以根为反复进行的任务设置更短的间隔。struct

timespec 由两部分构成:tv_sec 表示整秒数部分;tv_nsec 则表示毫微秒。tv_nesc 的值必须小于109。

nanosleep 相比sleep具有另一个优点。与sleep 相同,nanosleep 调用可以被信号中断,这是errno

将被设置为 EINTR 而调用将返回 -1。但是,nanosleep 的第二个参数,另一个指向struct timespec 对象的指针,如果不为 NULL 则在这种情况下它将被写入剩余的时间(这就是所请求的睡眠时间和实际睡眠时间的差)。这使重新开始睡眠变的很容易。

头文件 。

2. 内核

1> udelay mdelay ndelay

实现的原理本质上都是忙等待,ndelay和mdelay都是通过udelay衍生出来的.

由于这些delay函数本质上都是忙等待,对于长时间的忙等待意味这无谓的耗费着cpu的资源.

udelay一般适用于一个比较小的delay,如果你填的数大于2000,系统会认为你这个是一个错误的delay函数,因此如果需要2ms以上的delay需要使用mdelay函数。

2> msleep,ssleep

毫秒级的延时,这些函数将使得调用它的进程睡眠参数指定的时间。

总之,*sleep是可以进行系统调度,耗用资源小,*delay下是不能进行系统调度,非常耗费资源。

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

linux msleep 头文件,Linux延迟函数相关推荐

  1. linux的头文件下载,Linux内核头文件(linux headers)

    更新 Linux 内核头文件(linux headers) 三 8th, 2013 2,474 views | 发表评论 | Trackback 一般来说,如果不是自己编译 kernel,那么更新头文 ...

  2. linux close 头文件,Linux open close read write lseek函数的使用

    我们经常需要在Linux中进行文件操作,今天我就来分享下文件操作用到的一些函数 1 open 所需头文件: 函数原型:int open(const char *pathname,flags,int p ...

  3. linux fread 头文件,Linux文件操作

    Linux中一切都是文件.如普通文件,目录,设备,管道等. 操作这些文件有两种方式,调用系统函数和使用标准I/O库. 一.调用系统函数 1.文件描述符:数值类型,表示打开的文件标识 程序运行时,会首先 ...

  4. linux clock头文件,Linux common clock framework(1)_概述

    Linux common clock framework(1)_概述 作者:wowo 发布于:2014-10-20 23:06 分类:电源管理子系统 1. 前言 common clock framew ...

  5. linux abort 头文件,Linux编程—出错处理之assert,abort,exit,atexit,strerror

    Linux编程--出错处理之assert,abort,exit,atexit,strerror 1.assert() http://blog.chinaunix.net/u/16292/showart ...

  6. linux 内核头文件 linux kernel header

    1.内核头文件的发展历史         在 Linux 2.2/2.4 的纯真年代,内核头文件一直保持着 Unix 世界的"KISS"传统,只需将内核源码树中的头文件直接复制到 ...

  7. linux 链表头文件,Linux下单链表的实现

    该单链表在Linux系统GCC编译器下编码调试通过,初学者请多指教. makefile文件 main:main.o linklist.o gcc -o main main.o linklist.o m ...

  8. linux默认头文件,Linux安装合适内核头文件的方法

    摘要 腾兴网为您分享:Linux安装合适内核头文件的方法,桌面时钟,中建在线,圆通金刚,西餐菜谱等软件知识,以及万象,我不信表情包,兔子洞,服你网,电商直播app,网络工具箱,ffu文件,电脑功率计算 ...

  9. linux sockaddr_in头文件,linux网络编程常用头文件

    sys/types.h:数据类型定义 sys/socket.h:提供socket函数及数据结构 netinet/in.h:定义数据结构sockaddr_in arpa/inet.h:提供IP地址转换函 ...

最新文章

  1. logstash 自动重新加载配置
  2. 学习结构[记录]类型(9) - 变体结构
  3. 织梦防html5,最近织梦DEDECMS被注入漏洞,如何做好防护措施。
  4. DL之R-CNN:R-CNN算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
  5. Java代码实现执行HTTP请求
  6. bootstrap-datepicker 日期格式设置
  7. 排序算法02--冒泡排序
  8. php实现目录及目录文件下的遍历
  9. 【JEECG 官方】技术支持联系方式
  10. jquery csv2table 插件
  11. 在android系统中开发DLNA
  12. python numpy安装步骤-NumPy 安装
  13. Eclipse 字体选择
  14. Exchange Server 2007迁移Exchange Server 2010 (15)---启用Outlook anywhere
  15. 08cms php5.6,大型房产门户08cms单城市商业版V8.4(带升级补丁),带手机独家放送,去除后门优化响应...
  16. uniapp区分不同平台
  17. java面试题:2018年6月
  18. 单片机系统中实用的按键驱动(STM32、51都适用)
  19. interface和abstract interface
  20. D200和D2X区别

热门文章

  1. rxjs里switchMap operators的用法
  2. html页面和Chrome开发者工具elements界面不一致的一个可能原因:没有在Chrome开发者工具里打开对Shadow DOM显示的支持
  3. 在SAP API hub自动生成使用ABAP调用API的胶水代码
  4. 如何创建URL Mashup并插入到SAP Cloud for Customer标准页面里
  5. http get extension information - another way to get host url and port number of current application
  6. SAP CRM WebClient UI的cancel按钮处理
  7. 两种方法动态获得ABAP类的class attribute的值
  8. OPA 7 - opaTest
  9. SAP UI5 binding, property binding and resourceBinding
  10. ng-repeat part1 - how UI is rendered from {{name}} to actual value