睡眠:(睡眠或usleep)并没有将我的线程中的所有内容悬挂在Linux中,而是在Windows中悬挂吗?为什么
SLEEP: (Sleep or usleep) is not suspending everything in my thread in Linux but it does in Windows? why?
Windows:
for (int i = 0; i < 100; i++)
{
Sleep(100); // Sleep 100 ms in Windows
printf(".[%d] ", i);
}
结果是一个在Windows中每100ms出现的括号数字。
在Linux中:
for (int i = 0; i < 100; i++)
{
usleep(100000); // Sleep 100 ms in Linux
printf(".[%d] ", i);
}
结果是在Linux中每100ms出来每100ms的OB括号数字。它正在运行循环,只是在睡眠完成之前不打印数字。????
输出被缓冲。您看不到点,但它们像发条一样发出。
如果添加
fflush(stdout);
或输出字符串的新线,您应该看到这些点会定期出现。
相关文章:
- 为什么 SDL 在 Mac 上比 Linux 慢得多?
- Linux 大小命令,为什么 bss 和数据部分不为零?
- 为什么带lcov的codecov在Travis上不能正常工作,而在我当地的Linux Mint上却不能正常工作
- Linux C++编程:为什么连接是.so,生成的可执行依赖库是.so.version
- 为什么Qt资源被加载到Linux而不是Windows中?
- 为什么我的C 代码在Linux上运行,而在Windows上不运行,是否有RAM内存的问题
- Linux上的PTHREAD_CANCEL()导致异常/Coredump,为什么
- 睡眠:(睡眠或usleep)并没有将我的线程中的所有内容悬挂在Linux中,而是在Windows中悬挂吗?为什么
- 为什么Linux报告了我的应用程序的内存使用情况
- C++/openCV - 为什么显示图像会产生 Linux 分割错误?(打开CV错误?
- 为什么此C 损坏的程序在Windows和Linux上的行为如此不同
- 为什么我仍然必须在Linux上使用BOOST_LOG_DYN_LINK或BOOST_ALL_DYN_LINK使用Boos
- GCC 编译器对类型转换有什么作用?为什么 mac 和 Linux 上的输出不同
- 为什么我的文件/目录操作在Windows上工作正常,但在Linux上不能
- 为什么Fstream不适用于在Linux中编写文件
- 当我在Windows上运行它时,为什么我的Linux编译二进制不起作用
- 为什么在 linux 信号事件中未定义静态成员的使用
- 为什么我的代码在Linux上比在RTOS上更快
- Linux:为什么加载程序找到我的共享库
- Linux:为什么 smaps 中的值会不断增加