9.27. 多线程中的忙循环是什么

发布于 2023-05-09 12:33:36 字数 354 浏览 48 评论 0

忙循环就是程序员用循环让一个线程等待,不像传统方法 wait()、sleep() 或 yield() 它们都放弃了 CPU 控制,而忙循环不会放弃 CPU,它就是在运行一个空循环。这么做的目的是为了保留 CPU 缓存。

在多核系统中,一个等待线程醒来的时候可能会在另一个内核运行,这样会重建缓存。为了避免重建缓存和减少等待重建的时间就可以使用它了。

多线程中的忙循环指的是一种在多线程程序中,一个线程不断地循环检查某个条件是否满足,如果条件满足则执行相应的操作,否则继续等待的执行方式。这种方式可能会占用大量的 CPU 资源,因为线程不断地在循环中检查条件,即使条件不满足也会占用CPU资源,不利于性能优化。因此,建议在多线程程序中采用同步/通信等方式来避免忙循环。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

随风而去

暂无简介

0 文章
0 评论
23 人气
更多

推荐作者

eins

文章 0 评论 0

世界等同你

文章 0 评论 0

毒初莱肆砂笔

文章 0 评论 0

初雪

文章 0 评论 0

miao

文章 0 评论 0

qq_zQQHIW

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文