我在使用boost::this_thread::sleep_for
函数时遇到了奇怪的问题。每当我尝试长时间睡眠时,结果总是不准确,程序的睡眠时间比预期的要长。
以下是一些结果:
sleep(360) -> sleeps around 378 seconds
sleep(180) -> sleeps around 189 seconds
sleep(100) -> sleeps around 105 seconds
它真正睡觉的时间比预期的时间多了5%。
我已经在两台不同的计算机上进行了测试,结果是相同的。当我测试标准库的std::this_thread::sleep_for
或Windows API的Sleep
函数时,它可以工作。
我无法找出问题所在。尚未在Internet或Boost文档中找到任何内容。有什么建议吗?