从linux内核中产生

从linux内核中产生,第1张

概述我在 Linux(3.4)中有一个实时线程.在某些条件下,我希望它将控制权放弃到具有相同优先级的其他线程,即使它还没有完成使用其当前时间片.我在考虑使用以下代码: if (condition) { resched_task(); cond_resched();} 但是,我没有看到代码中有其他人这样做,让我觉得还有其他(更好的?)方式.有没有标准的方法来做到这一点? 您可以使用 s 我在 Linux(3.4)中有一个实时线程.在某些条件下,我希望它将控制权放弃到具有相同优先级的其他线程,即使它还没有完成使用其当前时间片.我在考虑使用以下代码:

if (condition) {    resched_task();    cond_resched();}

但是,我没有看到代码中有其他人这样做,让我觉得还有其他(更好的?)方式.有没有标准的方法来做到这一点?

解决方法 您可以使用 sched_yield()函数生成剩余的时间片 as discussed here.

sched_yIEld() causes the calling thread to relinquish the cpu. The thread is moved to the end of the queue for its static priority and a new thread gets to run.

总结

以上是内存溢出为你收集整理的从linux内核中产生全部内容,希望文章能够帮你解决从linux内核中产生所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/yw/1027264.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存