joh*_*ash 14 linux multithreading interrupt
你如何告诉linux中的线程调度程序不会因任何原因中断你的线程?我在用户模式下编程.简单地锁定互斥锁是否可以实现这一点?我希望防止在执行某个函数时调度进程中的其他线程.它们会阻塞,我会浪费带有上下文切换的cpu周期.我希望执行该函数的任何线程能够在不中断的情况下完成执行,即使超出了线程的时间片.
nos*_*nos 10
你如何告诉linux中的线程调度程序不会因任何原因中断你的线程?
无法真正完成,你需要一个实时系统.您将通过linux获得的关闭事项是将调度策略设置为实时调度程序,例如SCHED_FIFO,并设置PTHREAD_EXPLICIT_SCHED属性.请参阅此处,即使是现在,例如irq处理程序和其他其他内容将中断您的线程并运行.
但是,如果您只关心自己进程中的线程无法执行任何操作,那么是的,让它们阻塞正在运行的线程保持的互斥锁就足够了.
困难的部分是协调所有其他线程,以便在线程需要执行其操作时获取该互斥锁.
归档时间:
15 年,6 月 前
查看次数:
15044 次
最近记录: