原子性保证方式之一:synchronize
/*** 保证原子性的方案:synchronize*/
public class VolatileAtomicDemo02 {public static void main(String[] args) {Runnable target = new MyRunnable02();for(int i = 1 ; i <=100;i++){//启动100个线程,执行100次任务new Thread(target).start();}}
}class MyRunnable02 implements Runnable{private int count;private static final Object o = new Object();//一次任务是一个整体,加100@Overridepublic void run() {synchronized (o){for (int i = 1 ; i <=100;i++){count++;System.out.println(count);}}}
}
加上synchronize,可保证每个线程都加到100,结果总是10000