Volatile和synchronized关键字
1.关键字volatile是线程同步的轻量级实现,它的性能肯定比synchronized要好,只能修饰变量,而synchronized的可以修饰方法和代码块
2.多线程访问volatile不会发生阻塞,而synchronized会出现阻塞
3.volatile能保证数据的可见性,但是不能保证数据的原子性,而synchronized可以保证原子性,也可以间接的保证可见性,因为他会讲私有的内存和公共的内存中的数据做同步
4.关键字volatile解决的是在多线程之间的可见性,而synchronized解决的是多线程之间的资源同步问题