我有一个非常简单的 hello world 程序,它打印 hello world,然后使用一对 gettimeofday() 将 usleep(50) 调用括起来。如果两次 gettimeofday() 调用之间经过的时间大于 5ms,我将 printf。
在 Linux Vmware VM 上运行时,甚至在本机 Linux 笔记本电脑上运行时,我注意到有时我会从 5ms 到 10ms 获得经过的时间。与 VMware 相比,我在本机 Linux 笔记本电脑上看到的 printf 少得多,但它仍然出现。在本机 Linux 笔记本电脑上,经过的时间甚至高达 20 毫秒,但我看到的 printf 比在 VMWare 上要少得多。
为什么会这样?VMware 或本机 Linux 笔记本电脑都不是很忙。
如何减轻这种情况?
感谢任何见解。