什么是 Busy spin?我们为什么要使用它?

Busy spin是一种在不释放CPU的基础上等待事件的技术。它经常用于避免丢失CPU的缓存

中的数据(如果线程先暂停,之后再其他CPU上运行就会丢失)。所以,如果你的工作要求

低延迟,并且你的线程目前没有任何顺序,这样你就可以通过循环检测队列中的新消息来代

替调用 sleep() 或 wait() 方法。它唯一的好处就是你只需等待很短的时间,如几微秒或几

纳秒。LMAX 分布式框架是一个高性能线程间通信的库,该库有一个

BusySpinWaitStrategy 类就是基于这个概念实现的,使用 busy spin 循环

EventProcessors 等待屏障。

posted on 2017-05-26 22:01  辰_雨_  阅读(499)  评论(0)    收藏  举报

导航