Ribbon
轮训算法的实现
%
取模运算的结果得到一个整型的周期函数,让得到的结果总是小于除数的。
- 1 % 2 = 1
- 2 % 2 = 0
- 3 % 2 = 1
- 4 % 2 =0
- …
这样就得到一个[0,1]区间的一个周期函数。
CAS在Java层面是无锁的状态,但是在JVM层面还是有锁的,总线锁或者缓存锁。
基于CAS的自旋锁,如果有线程同时操作可能会导致短暂的CPU飙升,还有总所周知的ABA问题。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Maple's Blog!