c – 在UNIX系统上调用sleep(0)有什么影响?

栏目: 服务器 · 发布时间: 7年前

内容简介:基本上,它可以将控制权交还给调度程序,并让您立即重新安排.也就是说,尝试欺骗操作系统做某事基本上是一种破解.愚弄操作系统绝不是一个好主意.如果系统适当地欠载,那么进入休眠状态将意味着操作系统获得控制并让I / O队列刷新,因此它会产生这种效果.有时.根据.

我看到人们在我使用的大量多线程,多进程应用程序系统的某些部分执行此操作.它似乎围绕调试行完成:

std::cerr << "DEBUG: Reaching: " << __FUNCTION__ << " @ " << __LINE__ << std::endl;
sleep(0);

如果我微距睡眠(0); (即将其更改为“”),来自系统的调试输出似乎有不同的顺序(不太可预测),所以我认为它使得该行更快出来 – 但我认为std :: cerr是无缓冲的,并且std: :无论如何,endl调用std :: flush(),为什么会这样呢?

基本上,它可以将控制权交还给调度程序,并让您立即重新安排.也就是说,尝试欺骗操作系统做某事基本上是一种破解.

愚弄操作系统绝不是一个好主意.

如果系统适当地欠载,那么进入休眠状态将意味着操作系统获得控制并让I / O队列刷新,因此它会产生这种效果.有时.根据.

究竟它正在做什么取决于实施的细节,坦白地说,你不能依赖它.

翻译自:https://stackoverflow.com/questions/7577643/what-is-the-effect-of-calling-sleep0-on-a-unix-system


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

可视化未来

可视化未来

[美] 埃雷兹·艾登、[法] 让-巴蒂斯特·米歇尔 / 王彤彤、沈华伟、程学旗 / 浙江人民出版社 / 2015-9 / 54.90元

科学的传播速度有多快?今时今日我们很少谈论上帝了吗?人们什么时候开始用“having sex” 而不用“making love”? 史上的人是在哪岁成名的?语法的变化速度到底有多快?哪些作家被纳粹审查得最彻底? “donut” 什么时候开始取代“doughnut”? 我 们能否预测人类未来?比尔·克林顿和花椰菜哪个更出名? 《可视化未来》一书的两位作者通过与“谷歌图书”的合作,得以有机会研究......一起来看看 《可视化未来》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

SHA 加密
SHA 加密

SHA 加密工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具