所在包:java.util.concurrent`---> `AtomicInteger` `Lock` `ReadWriteLock
volatile是java虚拟机提供的轻量级的同步机制
做用:保证可见性、不保证原子性、禁止指令重排
原子性:不可分割、完整性,即某个线程正在作某个具体业务时,中间不能够被加塞或者被分割,须要总体完整,要么同时成功,要么同时失败 验证示例(变量添加volatile关键字,方法不添加synchronized)
可见性:当多个线程访问同一个变量时,一个线程修改了这个变量的值,其余线程可以当即看到修改的值
指令重排:有序性:在计算机执行程序时,为了提升性能,编译器和处理器经常会对指令作重排