加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

防止linux线程被调度程序中断

发布时间:2020-12-13 19:42:03 所属栏目:Linux 来源:网络整理
导读:你如何告诉 linux中的线程调度程序不会因为任何原因中断你的线程?我在用户模式下进行编程.简单地锁定一个互斥体这个吗?当某个功能正在执行时,我想防止我进程中的其他线程被调度.他们会阻止,我会浪费上下文切换的cpu周期.我希望任何执行该函数的线程即使没
你如何告诉 linux中的线程调度程序不会因为任何原因中断你的线程?我在用户模式下进行编程.简单地锁定一个互斥体这个吗?当某个功能正在执行时,我想防止我进程中的其他线程被调度.他们会阻止,我会浪费上下文切换的cpu周期.我希望任何执行该函数的线程即使没有中断线程的时间片,也能够中断执行.

解决方法

How do you tell the thread scheduler in linux to not interrupt your thread for any reason?

不能真正做到这一点,你需要一个实时系统.你会用linux得到的关闭的东西是
将调度策略设置为实时调度器,例如,SCHED_FIFO,并且还设置PTHREAD_EXPLICIT_SCHED属性.参见例如here,即使现在,例如irq处理程序等其他东西会中断你的线程并运行.

但是,如果您只关心自己进程中的线程无法执行任何操作,那么是的,让它们阻塞一个互斥体,正在运行的线程保持就足够了.

当你的线程需要做它的事情时,困难的部分是协调所有其他线程来抓取互斥体.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读