我想检查nanosleep()的准确程度,所以我编写了一个包含4个步骤的程序,而(1),
预期输出:差异应该是大约100,000纳秒,但它显示>有时会发生1毫克的变化。
粒度失败nanosec diff:1,696,699。
颗粒性失败nanosec end nano:340672813,启动纳米:338976114
注意:我在一秒钟内观察到这~2次,这意味着10000次中有2次左右。睡眠时间超过1毫秒而不是100微秒。这种行为见于虚拟机和Baremetal
请帮助我了解原因和替代方法或微调睡眠粒度的方法。
操作系统:Linux Fedora-23 Centos-7.1