synchronized 和 volatile 比较
volatile 不需要加锁,比synchronized 更轻量级,不会堵塞线程;
从内存可见性的角度讲,volatile读相当于加锁,volatile写相当于解锁
synchronized既能保证可见性,又能保证原子性,而volatile只能保证可见性,无法保证原子性,而volatile只能保证可见性,无法保证原子性。
volatile 不需要加锁,比synchronized 更轻量级,不会堵塞线程;
从内存可见性的角度讲,volatile读相当于加锁,volatile写相当于解锁
synchronized既能保证可见性,又能保证原子性,而volatile只能保证可见性,无法保证原子性,而volatile只能保证可见性,无法保证原子性。