Java 中的原子操作
在多线程处理过程中,当多个线程同时访问和写入同一变量时,变量的值可能会变得不一致。为了维护数据完整性,Java 提供了原子操作来保证某些操作的不可分割性。如果一个操作看似完成而没有被中断,则该操作是原子的。
Java 中的原子操作
Java 中的以下操作被视为原子操作:
限制
需要注意的是,原子性并不意味着可见性。虽然部分写入的 int 变量保证对其他线程不可见,但新值可能不会立即可见。
常见 CPU 上的 64 位值
在 64 位架构的 CPU 上,长整型和双精度变量的操作通常也是原子的。然而,JVM 规范并不能保证这一点。为了更精确的原子性控制,请考虑使用 java.concurrent.atomic 包中的 AtomicLong 或 AtomicDouble 类。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3