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


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

查看所有标签

猜你喜欢:

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

产品设计思维

产品设计思维

王丁 / 机械工业出版社 / 2017-8-1 / 79

这是一本关于“产品设计思维与方法”方面的实战书籍。融合了笔者多年行为实践经验,以大量的图例和案例详细展现产品设计背后的真实思维与构建方法,全面系统地分析电子商务产品设计方案,从规划、架构、逻辑、原型等多个方面对电商平台的产品设计过程进行细致分享。 在互联网产品设计领域,设计理念与设计方法却是能持续复用的,只要你掌握了一套行之有效的互联网产品设计方法论与工具,那无论是从事什么样的行业,你都能快......一起来看看 《产品设计思维》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具