gpt4 book ai didi

linux调度程序线程实际 sleep 时间

转载 作者:太空宇宙 更新时间:2023-11-04 04:34:51 25 4
gpt4 key购买 nike

对于在 MV Linux 下运行的应用程序,我有一个线程必须每 10 毫秒激活一次。当我使用 ulseep/nanosleep/select 时,线程每 20 毫秒返回一次。为了改变这种行为,我必须使用哪些内核参数?谢谢,拉菲

最佳答案

Linux 不是实时操作系统。无法保证 sleep 的准确性。当您调用 sleep 时,线程将被挂起,并且在请求的持续时间过去之前无法运行。当它再次可运行时,调度程序将在有可用执行时间时再次运行该线程。

调度事件之间的间隔由内核编译参数CONFIG_HZ决定。例如,当CONFIG_HZ=250(默认)时,调度事件每 1s/250Hz = 4ms 触发一次。因此,当您的线程再次可运行时,在实际恢复之前最多可能会经过 4 毫秒,如果您的线程当时没有最高优先级,则还要再经过 4 毫秒,等等。

关于linux调度程序线程实际 sleep 时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23635018/

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