【发布时间】:2012-02-21 19:13:19
【问题描述】:
我有 6 个线程。 其中一个线程进入某个范围并打开“锁”,而其他所有线程 线程正在等待并希望进入相同的范围。
现在,其他线程会获得 CPU 时间吗?其他线程是否在线程调度中? 我知道所有其他线程都处于等待状态 - 但 CPU 会尝试让线程继续并尝试进入范围(即使范围不可访问)
【问题讨论】:
-
我的理解是,其他线程还是会收到时间片,用来检查锁的状态。如果锁还在,他们将重新进入睡眠状态,否则他们将继续。
-
这也是我所理解的——但这需要 CPU 时间......所以这有点忙等待——这非常糟糕。