忙循环就是程序员用循环让一个线程等待,不像传统方法 wait()、sleep() 或 yield() 它们都放弃了 CPU 控制,而忙循环不会放弃 CPU,它就是在运行一个空循环。这么做的目的是为了保留 CPU 缓存。
在多核系统中,一个等待线程醒来的时候可能会在另一个内核运行,这样会重建缓存。为了避免重建缓存和减少等待重建的时间就可以使用它了。
多线程中的忙循环指的是一种在多线程程序中,一个线程不断地循环检查某个条件是否满足,如果条件满足则执行相应的操作,否则继续等待的执行方式。这种方式可能会占用大量的 CPU 资源,因为线程不断地在循环中检查条件,即使条件不满足也会占用CPU资源,不利于性能优化。因此,建议在多线程程序中采用同步/通信等方式来避免忙循环。

