用户程序中的睡眠:
sleep() usleep() nanosleep()
(资料图)
sleep()和nanosleep()都是使进程睡眠一段时间后被唤醒,但是二者的实现完全不同。 Linux中并没有提供系统调用sleep(),sleep()是在库函数中实现的,它是通过调用alarm()来设定报警时间,调用sigsuspend()将进程挂起在信号SIGALARM上,sleep()只能精确到秒级上。
nanosleep()则是Linux中的系统调用,它是使用定时器来实现的,该调用使调用进程睡眠,并往定时器队列上加入一个timer_list型定时器,time_list结构里包括唤醒时间以及唤醒后执行的函数,通过nanosleep()加入的定时器的执行函数仅仅完成唤醒当前进程的功能。系统通过一定的机制定时检查这些队列(比如通过系统调用陷入核心后,从核心返回用户态前,要检查当前进程的时间片是否已经耗尽,如果是则调用schedule()函数重新调度,该函数中就会检查定时器队列,另外慢中断返回前也会做此检查),如果定时时间已超过,则执行定时器指定的函数唤醒调用进程。当然,由于系统时间片可能丢失,所以nanosleep()精度也不是很高。
alarm()也是通过定时器实现的,但是其精度只精确到秒级,另外,它设置的定时器执行函数是在指定时间向当前进程发送SIGALRM信号。
复制代码 代码如下:
#include
int main(void) { int i; struct timespec slptm; long tdif; struct timeval tend, tstart;
slptm.tv_sec = 0; slptm.tv_nsec = 1000; //1000 ns = 1 us
//struct sched_param param; //param.sched_priority = 0; //sched_setscheduler(getpid(), SCHED_FIFO, ¶m);
if (gettimeofday(&tstart, NULL) == -1) { fprintf(stderr, "Failed to get start time/n"); return 1; } for (i = 0; i < COUNT; i++) { if (nanosleep(&slptm, NULL) == -1) { perror("Failed to nanosleep"); return 1; } } if (gettimeofday(&tend, NULL) == -1) { fprintf(stderr, "Failed to get end time/n"); return 1; } tdif = MILLION * (tend.tv_sec - tstart.tv_sec) + (tend.tv_usec - tstart.tv_usec); printf("nanosleep() time is %ld us/n", tdif/COUNT); return 0; }
HZ 250HZ 时钟中断的时间间隔: 4 ms (1000ms/250) ---------------------------------------- nanosleep() time is 4019 us (4.019 ms) 说明nanosleep的睡眠定时器依赖于时钟中断
HZ 1000HZ 时钟中断的时间间隔: 1 ms ---------------------------------------- nanosleep() time is 12 us 注: 最小睡眠时间为1 us
通过上面的介绍,相信大家对于这个科技领域linux下nanosleep()&sleep()的区别也有了一定的了解了,希望小编精心整理的这篇内容能够解决你的困惑。
本文由用户上传,如有侵权请联系删除!标签:
- 天天速讯:linux下nanosleep()&sleep()的区别
- 即时焦点:微信在其它手机上登录需要短信验证如何解决?
- 世界快讯:成本价加30%怎么算 成本价
- 【世界时快讯】微信app如何使用搜一搜查询飞机航班?
- 央行:3月对金融机构开展中期借贷便利操作共4810亿元
- 每日精选:父亲节手工制作奖章(父亲节手工制作)
- 天天讯息:首班陆海新通道跨境铁公联运班列(重庆—瑞丽—缅甸)成功开行
- 每日精选:首班陆海新通道跨境铁公联运班列(重庆—瑞丽—缅甸)成功开行
- 全球播报:网传湖南“挂职副县长1994年出生”,当地回应
- 每日焦点!母亲节简笔画大全简单又漂亮 儿童画(母亲节简笔画大全简单)
- 每日动态!美国网站永久发布天堂 mgfbz美国发布站图片
- 【天天热闻】为什么有些微信背景是黑色的(为什么有的微信背景是黑色的)
- 每日播报!给对方播放影音文件的格式(给对方播放影音文件)
- 全球热资讯!网传湖南“挂职副县长1994年出生”,当地回应
- 全球快资讯:外媒爆料《CS2》公布后CS:GO玩家开箱欲望激增
- 当前滚动:原始传奇圣兽军需官在哪(军需官在哪)
- 每日热门:2020年立春是几月几号(2020立春是几月几日)
- 捷思锐助推江西省智能交通管理与路网监控系统建设
- 公安部发布百项公共安全行业标准
- 公安部发布百项公共安全行业标准
- 【环球聚看点】应力计算公式 材料分析 应力计算公式
- 今日热闻!索爱lt18手机怎么样(索爱lt18报价)
- 国家发展改革委:今年将从六方面做强做优做大数字经济
- 世界热议:张继科事件持续发酵,多家品牌终止合作
- 报道:宫保鸡丁里面有什么配菜 宫爆鸡丁放什么配菜好吃
- 全球滚动:手工礼物送闺蜜(父亲节礼物送礼物手工)
- 环球视点!腾讯视频弹幕不见了2021(腾讯视频弹幕功能没了)
- 【环球速看料】不看广告看“料”效!极米H3、当贝F3同价不同质
- 环球快消息!被控骗取多人8700余万元 “百名红通人员”孙锋诈骗、受贿案一审开庭
- 通讯!张继科事件新进展:多品牌已开启切割 下架代言、删除相关物料 安踏有最新回应
- 全球新动态:被控骗取多人8700余万元 “百名红通人员”孙锋诈骗、受贿案一审开庭
- 世界今日报丨潮数推出“数据安全治理AI化”产品解决方案
- 旅游必备!4月国内景区免票优惠盘点来了
- 每日动态!旅游必备!4月国内景区免票优惠盘点来了
- 今日快讯:张继科事件持续发酵,多家品牌终止合作
- 今日热闻!阿石创(300706)4月3日主力资金净卖出3379.37万元
- 财付通交易扣款什么原因?财付通自动扣钱是什么原因?
- 任性贷有额度4000可以借多少?苏宁金融任性贷可以借5000吗?
- 买卖房屋需要交哪些税?房屋买卖是否可以公证?
- 余额宝大额转入为什么到别的账户?余额宝大额转入是转给谁了?
- 信用利差是什么意思?信用利差收窄说明什么?
- 借呗可以提前还款吗?借呗分期提前还款还收利息吗?
- 当前速读:年收入曾高达6000万!盘点张继科的商业版图
- 世界快讯:两面app如何关闭新消息通知?
- 光大银行安逸存是定期存款吗?光大银行是国有银行吗?
- 当前聚焦:中国发布头盔“新国标” 首次纳入电动自行车乘员头盔技术要求
- 全球新资讯:泸州、永川、江津三地达成26项合作 一体化税收助推泸永江融合发展
- 快手里边聊天带框怎么弄的(快手同框怎么弄)
- 房屋定金可不可以退呢?买房付定金后没有按时首付会怎样?
- 房子分期应该怎么计算?分期房子能不能卖呢?
- 告诉爸妈别上当!养老诈骗团伙设“收藏”连环套
- 【环球新要闻】联想笔记本电脑键盘按字母出现数字咋办
- 芝麻先享后付是什么意思?芝麻信用分有哪些用处?
- 每日短讯:怎么炒股如何炒股(怎么炒股详细步骤)
- 全球信息:云南杞麓湖治污弄虚作假案细节披露:商人行贿副市长承建两千多万元项目
- 焦点信息:春暖花开旅游回暖,四川等地景区推出优惠措施 你都去了哪里?
- 购房网签是什么意思?买房网签流程具体是什么?
- 单日交易限额50000什么意思?银行卡限额是转入还是转出?
- 快看点丨中国发布头盔“新国标” 首次纳入电动自行车乘员头盔技术要求
- 春暖花开旅游回暖,四川等地景区推出优惠措施 你都去了哪里?
- 通货膨胀物价上涨还是下跌?通货膨胀会带来以下的影响有什么?
- 信用借还免密支付是什么意思?花呗里的信用借还是什么意思?
- 告诉爸妈别上当!养老诈骗团伙设“收藏”连环套
- 焦点热门:年收入曾高达6000万!盘点张继科的商业版图
- 企业捐赠抵所得税吗?企业分红要交企业所得税码?
- 光大银行安逸存是定期存款吗?光大银行是国有银行吗?
- 云南杞麓湖治污弄虚作假案细节披露:商人行贿副市长承建两千多万元项目
- 公司注销后多久天眼查不到?公司注销的步骤具体有哪些?
- 房子的契税怎么计算出来的?契税是地税还是国税?
- 20万的车保险一年大概多少钱呢?20万的车保险买哪几种合适?
- 旅游意外险一天大概多少钱呢?旅游意外险是强制购买的吗?
- 商业重疾险有没有必要买呢?商业重疾险什么时候返还保费?
- 利安人寿增额终身寿险怎么样?利安人寿增额终身寿险能取多少钱?
- 医保断交之前的就白交了吗?医保断了几年后再交有用吗?
- 城乡居民医保应该怎么报销?城乡居民医疗保险能够报销多少?
- 基金挣多少卖出合适?基金是不是赚钱了就要卖出?
- 基金转换有什么好处?基金转换手续费应该怎么算?
- 股票止损都需要注意哪些方面?股票止损操作的流程是怎么样的?
- 基金为什么不要频繁操作?频繁操作基金会有什么后果?
- 应该如何交易原油期货?如何操作原油期货?
- 世界即时看!丽江古城至长江第一湾旅游直通车开通
- 环球热门:富友金账户管理系统 富友金账户管理系统
- 短期债务与长期债务怎么区别?长期债权和短期债券有哪些区别?
- 外汇交易如何稳定盈利?对外汇交易行为的规范有哪些?
- 借呗还不上的处理办法有哪些?借呗逾期的后果有哪些?
- 购买公司债券可能会遇到哪些风险?公司债券与可转债的区别是什么?
- 蚂蚁庄园支付宝问答:蚂蚁庄园奥运会历史上第一个
- 最新:uc3842(uc云下载)
- 索爱s08a手机参数(索爱700)
- 今头条!蚂蚁庄园支付宝问答:蚂蚁庄园乒乓球男单冠军
- 全球要闻:自然资源有“户口本”了!我国首批重点区域自然资源确权登记完成
- 全球头条:苹果4s升级ios9卡吗(苹果4s升级ios7教程)
- 蚂蚁庄园支付宝问答:蚂蚁庄园奥运会历史上
- 星空有约丨清明节巧遇闰二月,咋回事?
- 【全球快播报】星空有约丨清明节巧遇闰二月,咋回事?
- 世界微动态丨蚂蚁庄园支付宝问答:步行健身
- 蚂蚁庄园支付宝问答:步行健身正确方式是什么
- 每日动态!信用卡逾期接到96110能回拨吗?如何与银行协商还款?
- 2025年底完工!双流机场T1航站楼将这样改造!
- 老舍散文《春风》 冰心散文摘抄