轮训算法的实现

%取模运算的结果得到一个整型的周期函数,让得到的结果总是小于除数的。

  • 1 % 2 = 1
  • 2 % 2 = 0
  • 3 % 2 = 1
  • 4 % 2 =0

这样就得到一个[0,1]区间的一个周期函数。

CAS在Java层面是无锁的状态,但是在JVM层面还是有锁的,总线锁或者缓存锁。

基于CAS的自旋锁,如果有线程同时操作可能会导致短暂的CPU飙升,还有总所周知的ABA问题。