无锁实现单例模式+cas、乐观锁、悲观锁、自旋锁的理解
在我们平常中的单例模式之懒汉式的实现下,为了线程安全,我们一般都是通过加锁的形式实现的,有双重检查锁,synchronized、静态内部内(通过类的加载机制实现的,在类加载中加了synchronized)等等,大家有兴趣可以去看我的另一篇文章实现单例模式的常规形式那如果我们在面试中遇到:如何无锁实现懒汉式呢?这里我提供一种思路:我们可以借助于cas进行无锁实现cas(compare and set):这是一个原子性的操作,属于乐观锁的行列,它包含 3 个参数CAS(V,E,N),V表示要更新







