public static AtomicInteger atomicInteger = new AtomicInteger(0);
public static void main(String[] args) throws InterruptedException {Runnable runnable=()->{for (int i = 0; i < 1000000000; i++) {atomicInteger.getAndIncrement();}System.out.println(Thread.currentThread().getName()+" run end !");};Thread t1 = new Thread(runnable,"thread 1 ");Thread t2 = new Thread(runnable,"thread 2 ");t1.start();t2.start();Thread.sleep(1000);System.out.println("atomicInteger = " + atomicInteger.get());
}
执行了34s后打印以下内容。
atomicInteger = 2000000000
thread 1 run end !
thread 2 run end !
将for循环的i由int变为long
public static AtomicInteger atomicInteger = new AtomicInteger(0);
public static void main(String[] args) throws InterruptedException {Runnable runnable=()->{// ===================修改位置=========================for (long i = 0; i < 1000000000; i++) {atomicInteger.getAndIncrement();}System.out.println(Thread.currentThread().getName()+" run end !");};Thread t1 = new Thread(runnable,"thread 1 ");Thread t2 = new Thread(runnable,"thread 2 ");t1.start();t2.start();Thread.sleep(1000);System.out.println("atomicInteger = " + atomicInteger.get());
}
执行了1s后打印第一行内容。
执行了34s后打印后两行内容。
atomicInteger = 55519333
thread 2 run end !
thread 1 run end !
这个现象你要是马上问我,我也答不到点上,直接跟大家说明原因吧。
上一篇:好莱坞巨星片场发生严重车祸!8人被送医,2人被弹出车外生命垂危 好莱坞男明星出车祸 好莱坞重大伤亡事故
下一篇:张元英、Jennie带火的“蛋糕裙”,减龄又时髦,难怪潮人都跟风! 张元英泰国见面会跳jenniesolo jennie张元英同款造型