当给变量加了volatile关键字, 表示该变量对所有线程可见, 但不保证原子性.
public class VolatileDemo extends Thread { public volatile static int count = 0; @Override public void run() { for(int i = 0; i < 10000; i++) { count++; } System.out.println("count:"+count); } public static void main(String[] args) { for(int i = 0; i < 10; i++) { VolatileDemo volatileDemo = new VolatileDemo(); volatileDemo.start(); } } }只需看最后一个值,没到10,000,无法保证想线程安全