gpt4 book ai didi

c++ - 没有系统或 IO 调用的 sleep

转载 作者:行者123 更新时间:2023-11-28 07:00:59 25 4
gpt4 key购买 nike

对于具有硬件事务内存的场景,我需要一个不发出任何系统或 IO 调用的 sleep (这些调用将导致中止)。在 usleep(1) 中休眠 1 微秒就可以了。

This question建议实现嵌套循环以保持程序繁忙并延迟一段时间。但是,我希望能够通过优化来编译,从而删除这些循环。

一个想法可能是计算一些复杂的数学方程式。有解决办法吗?实际等待的时间不必非常精确 - 但是多次运行应该大致相同。

最佳答案

尝试使用 volatile asm 指令的 nop 循环:

for (int i = 0; i < 1000; i++) { 
asm volatile ("nop");
}

volatile 应该防止优化器摆脱它。如果不行,请尝试 __volatile__ .

关于c++ - 没有系统或 IO 调用的 sleep ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22476879/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com