volatile
1.volatile :当多个线程进行操作共享数据时,可以保证内存中的数据可见 ,但是用了volatile后就不能重排序了
2.当多线程同时运行时,每个线程对获取到一块独立的内存,所以产生了内存可见性问题,当多个线程操作共享数据时,彼此不可见,同步锁可解决,还可以用(volatile)。
3.volatile相较于synchronized 它是一个轻量级的同步策略。效率比synchronized高。
4.volatile不具有互斥性
5volatile不能保证变量的(原子性)