Io 等待互斥体、条件变量或I/O是否会自动产生()线程?

Io 等待互斥体、条件变量或I/O是否会自动产生()线程?,io,mutex,scheduling,condition-variable,Io,Mutex,Scheduling,Condition Variable,这看起来很简单,但只是想检查一下(在Linux上)这是否有保证。在满足等待条件之前,是否禁止线程调度?或者线程是否会被调度,发现它仍然在等待并再次产生(),从而浪费资源 我问的原因是,如果我有X个线程在运行,而有些线程由于任何原因被阻塞,那么被阻塞的线程是否会妨碍可运行线程(假设它们具有相同的优先级)?是的,它们会在不消耗任何CPU资源的情况下等待。只有自旋锁才能进行繁忙的等待

这看起来很简单,但只是想检查一下(在Linux上)这是否有保证。在满足等待条件之前,是否禁止线程调度?或者线程是否会被调度,发现它仍然在等待并再次产生(),从而浪费资源


我问的原因是,如果我有X个线程在运行,而有些线程由于任何原因被阻塞,那么被阻塞的线程是否会妨碍可运行线程(假设它们具有相同的优先级)?

是的,它们会在不消耗任何CPU资源的情况下等待。只有自旋锁才能进行繁忙的等待