java基本类型赋值操作的原子性

在java中基本类型的大部分赋值操作是原子性的,但是long和double除外,因为jvm将long和double会产生字撕裂的情况,jvm将long和double读取和写入当作分离的两次32位操作来执行,这样多线程可能产生不一致的情况出现.解决办法就是加上volatile.

你可能感兴趣的:(java基本类型赋值操作的原子性)