volatile保证可见性 一旦一个共享变量(类的成员变量.类的静态成员变量)被volatile修饰之后,那么就具备了两层语义: 1)保证了不同线程对这个变量进行操作的可见性,即一个线程修改了某个变量的值,这新值对其它线程来说是立即可见的 2)禁止进行指令重排序 volatile不能确保原子性 在访问volatile变量时,不会执行加锁操作,因此也就不会执行线程阻塞.所以volatile变量是一种比sychhronized关键字更轻量级的同步机制 关于这一点,可看个例子: public cla…