gpt4 book ai didi

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

转载 作者:IT王子 更新时间:2023-10-29 00:25:33 24 4
gpt4 key购买 nike

你如何告诉 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 处理程序和其他东西会中断你的线程并运行。

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

困难的部分是协调所有其他线程以在您的线程需要执行其操作时获取该互斥体。

关于linux - 防止linux线程被调度程序中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2595735/

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