小编Geo*_* Li的帖子

为什么自旋锁在单个 CPU 上没有意义?

在阅读《操作系统三篇简单文章》时,我发现了以下句子:

\n\n
\n

“为了在单个处理器上正常工作,它需要一个抢占式调度程序(即,通过计时器中断线程,以便不时运行不同的线程)。如果没有抢占,自旋锁don\xe2\x80\x99 在单个 CPU 上没有多大意义,因为在 CPU 上旋转的线程永远不会放弃它。”

\n
\n\n

为什么即使单CPU支持多线程,单CPU上旋转的线程也永远不会放弃它?是不是因为自旋锁在这种情况下浪费了太多的CPU资源?CPU核心数量如何影响互斥锁和自旋锁等不同锁的性能?

\n

cpu multithreading synchronization mutex multiprocessing

3
推荐指数
1
解决办法
2207
查看次数