原子性保证方式之一: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
@Override
public void run() {
synchronized (o){
for (int i = 1 ; i <=100;i++){
count++;
System.out.println(count);
}
}
}
}
加上synchronize,可保证每个线程都加到100,结果总是10000