gpt4 book ai didi

linux - 微秒级用户空间忙等待循环

转载 作者:太空狗 更新时间:2023-10-29 12:35:50 25 4
gpt4 key购买 nike

对 linux/delay.h 中可以在用户空间中使用的 udelay 这样的函数有什么建议吗?

从用户空间,我想每 10 微秒生成一次事件。准确性不是特别重要,但我希望尽可能接近它。像 usleep 这样的东西不起作用,因为上下文切换开销。现在我有一个忙等待循环,它使用 clock_gettime 和 CLOCK_MONOTONIC 时钟,它不断地将当前时间与开始循环之前的时间进行比较,并在经过的微秒数过去后返回。它比使用 usleep 工作得更好,但是如果不编写内核代码(或切换到实时 linux)我能做得更好吗?谢谢。

最佳答案

select(2) 带有超时且没有 FD 应该是一个不错的选择。请记住每次调用前初始化超时。

关于linux - 微秒级用户空间忙等待循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12021420/

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