1

这似乎很容易,但只是想检查这是否得到保证(在 Linux 上)。在满足等待条件之前,线程是否被排除在调度之外?或者线程会被调度,发现它仍在等待并再次 yield(),浪费资源?

我要问的原因是,如果我有 X 个线程正在运行,并且某些线程由于某种原因被阻塞,被阻塞的线程是否会妨碍可运行线程(假设它们具有相同的优先级)?

4

1 回答 1

2

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

于 2013-01-17T02:45:53.557 回答