-
-
atomic类,将读写操作封装成一步,即变量具有原子性。如 i++,那么每个线程的缓存都会去读取上一个线程操作后的变量(上一个线程会将操作后的变量刷回到主存中),可以看到atomic类中的变量都是 volatile 修饰的,即 原子性以可见性为前提
-
synchronized,保证同一时间只有一个线程进入代码块,即
atomic类,将读写操作封装成一步,即变量具有原子性。如 i++,那么每个线程的缓存都会去读取上一个线程操作后的变量(上一个线程会将操作后的变量刷回到主存中),可以看到atomic类中的变量都是 volatile 修饰的,即 原子性以可见性为前提
synchronized,保证同一时间只有一个线程进入代码块,即