非原子的 64 位操作
Posted xmsx
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了非原子的 64 位操作相关的知识,希望对你有一定的参考价值。
Java 内存模型要求,变量的读操作和写操作都必须是原子操作(最低安全性)。
但是也有例外,对于非 volatile 类型的 double 和 long 变量,JVM 允许将 64 位的读操作或写操作分为两个 32 位的操作,因此,多线程中使用共享可变的 long、double 变量是不安全的。
解决办法?用 volatile 关键字声明变量,或用锁保护变量的读写。
以上是关于非原子的 64 位操作的主要内容,如果未能解决你的问题,请参考以下文章