volatile:称之为轻量级锁,被volatile修饰的变量,在线程之间是可见的. 可见:一个线程修改了这个变量的值,在另一个线程中能够读取到这个修改后的值. synchronized除了线程之间互斥之外,还有一个非常大的作用,就是保证可见性.以下demo即保证a值的可见性. 首先来看demo: package com.roocon.thread.t7; public class Demo { private int a = 1; public int getA() { return a; }…