volatile

1.volatile :当多个线程进行操作共享数据时,可以保证内存中的数据可见 ,但是用了volatile后就不能重排序了

volatile

 2.当多线程同时运行时,每个线程对获取到一块独立的内存,所以产生了内存可见性问题,当多个线程操作共享数据时,彼此不可见,同步锁可解决,还可以用(volatile)。

3.volatile相较于synchronized 它是一个轻量级的同步策略。效率比synchronized高。

4.volatile不具有互斥性

5volatile不能保证变量的(原子性)