首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自旋锁与互斥休眠锁

自旋锁与互斥休眠锁
EN

Stack Overflow用户
提问于 2015-04-17 13:26:23
回答 1查看 2K关注 0票数 2

对于非常短的临界区,自旋锁(繁忙等待锁)比互斥休眠锁更有效。假设系统的上下文切换时间(保存当前进程并加载下一个进程所需的时间)是T。临界区需要多长时间才能使用互斥休眠锁而不是自旋锁更有效?

EN

回答 1

Stack Overflow用户

发布于 2015-07-19 22:57:30

这取决于具体的情况。为了更快地唤醒,你愿意在旋转中消耗多少cpu时间?

英特尔曾经说过20个周期。但这是很久以前的事了,线程比内核多得多。

如果你的等待线程对你来说非常关键,它会有它自己的专用核心,你不会关心为了最终最快的唤醒而永远旋转。

如果它不是那么关键,并且内核与其他线程共享,那么您可能希望将cpu时间分配给其他线程。如果你不这样做,操作系统最终会帮你做到这一点,但这显然不是最优的。

底线-测试并查看性能上的差异,然后重新迭代、重新测试等。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29691045

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档