睡眠和睡眠开始错误
sleep and usleep start wrong
在C++中,我在"主"路径中使用usleep
,并在之前调用函数out
。
out();
usleep(4000000);
out
只是在屏幕上打印一些东西。不幸的是,尽管out()
函数调用在usleep
命令之前,但打印仅在4秒钟后出现在屏幕上。我用树莓做树莓。怎么可能不首先是函数out()
;被调用,然后usleep
开始,但反过来呢?
在C++中,为了减少IO的时间,我们缓冲了输出。这意味着,写入屏幕/磁盘的调用并不总是写入实际设备。
让我们以这个代码为例:
for (int x = 0; x < 10000; x++)
std::cout << "a";
如果每次都在屏幕上写"a",那将需要很长时间。相反,整个缓冲区每n个字符写入一次。
为了将非满缓冲区写入屏幕,您有几个选项:
像这样使用std::flush:
std::cout << std::flush;
Std::endl也使用flush:
std::cout << std::endl;
相关文章:
- 尝试从头开始实现Leetcode的FizzBuzz多线程问题。收到"libc++abi.dylib: terminating"错误
- 试图修复一个错误,该错误不会让我开始编程其余部分
- 甚至在开始执行之前出现分段错误
- 为什么我的代码在终端中没有输出任何内容.开始新行没有错误
- G :内部编译器错误:分割故障(程序CC1PLUS) - 我在哪里开始
- 常时等量启动失败.错误: 0x2 ;当开始从 2 个相机 PTGrey 读取时
- Bison-3.0.4 中的 Linux 从头开始错误 'make check'
- 为什么开始读取返回错误ENOMEM(_B)
- 无法跳转到标签"fin",错误:从这里开始,并交叉初始化
- c++链表在开始处插入一个错误的节点
- 错误:当我继承 std::vector 时,在“开始”之前预期“)”
- C++11 : 错误:“开始”不是“std”的成员
- 请帮我解决下面提到的错误?我开始在Eclispe中Opencv
- 欧拉项目任务#8,代码在某个点之后开始返回错误的答案
- 错误:调用"开始(常量无符号 int&)"没有匹配函数|
- 使用模板<类输入迭代器>字符串(输入迭代器开始,输入迭代器结束)时出现奇怪的错误;
- 开始使用boost-cpu_timer时,错误:“boost::timer::cpu_timer”尚未声明
- 时间开始未找到标识符错误
- 开始使用 clang 3.6.0 和 Visual Studio 2013;如何解决"unknown argument: -ftemplate-depth"编译器错误?
- 睡眠和睡眠开始错误