synchronized 和 volatile 比较

volatile 不需要加锁,比synchronized 更轻量级,不会堵塞线程;

从内存可见性的角度讲,volatile读相当于加锁,volatile写相当于解锁

synchronized既能保证可见性,又能保证原子性,而volatile只能保证可见性,无法保证原子性,而volatile只能保证可见性,无法保证原子性。

原文地址:https://www.cnblogs.com/CCCrunner/p/11782091.html