9.27. 多线程中的忙循环是什么
忙循环就是程序员用循环让一个线程等待,不像传统方法 wait()、sleep() 或 yield() 它们都放弃了 CPU 控制,而忙循环不会放弃 CPU,它就是在运行一个空循环。这么做的目的是为了保留 CPU 缓存。
在多核系统中,一个等待线程醒来的时候可能会在另一个内核运行,这样会重建缓存。为了避免重建缓存和减少等待重建的时间就可以使用它了。
多线程中的忙循环指的是一种在多线程程序中,一个线程不断地循环检查某个条件是否满足,如果条件满足则执行相应的操作,否则继续等待的执行方式。这种方式可能会占用大量的 CPU 资源,因为线程不断地在循环中检查条件,即使条件不满足也会占用CPU资源,不利于性能优化。因此,建议在多线程程序中采用同步/通信等方式来避免忙循环。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论