我已经编写了测试程序来测试SCHED_FIFO.我了解到SCHED_FIFO线程无法抢占SCHED_FIFO.但我无法解释同一个程序多次运行时获得的结果.
/* Includes */#include
我在多次运行中得到了意想不到的结果,我看到SCHED_FIFO被SCHED_OTHER线程抢占,即按程序,线程2处于FIFO模式,而线程1处于SCHED_OTHER模式.我已经多次看到thread2被thread1抢占了.
有人可以帮助我找到问题吗?
最佳答案您可能有效的这些sysctl设置,它们是默认值:kernel.sched_rt_period_us = 1000000kernel.sched_rt_runtime_us = 950000
这意味着允许实时线程每1秒钟仅占95%.
另见:Can’t provoke Priority Inversion in C++ 总结
以上是内存溢出为你收集整理的SCHED_FIFO线程被Linux中的SCHED_OTHER线程抢占全部内容,希望文章能够帮你解决SCHED_FIFO线程被Linux中的SCHED_OTHER线程抢占所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)