我有一个关于调度线程的问题.一方面,我了解到线程被安排并被视为Linux中的进程,这意味着它们可以像使用传统方法的任何其他进程一样进行调度.(例如,linux中的完全公平调度程序)
另一方面,我也知道CPU也可能使用Switch on Event或Fine-grain等方法在线程之间切换.例如,在高速缓存未命中事件上,CPU切换线程.但是如果调度程序不想切换线程怎么办?他们如何就一个行动达成一致?
我真的很困惑两者:谁安排一个线程?操作系统还是CPU?
非常感谢 :)
linux cpu multithreading operating-system scheduling
cpu ×1
linux ×1
multithreading ×1
operating-system ×1
scheduling ×1