码迷,mamicode.com
首页 > 其他好文 > 详细

非原子的 64 位操作

时间:2018-09-28 20:35:57      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:java   关键字   保护   解决   变量   声明变量   操作   jvm   ola   

Java 内存模型要求,变量的读操作和写操作都必须是原子操作(最低安全性)。

但是也有例外,对于非 volatile 类型的 double 和 long 变量,JVM 允许将 64 位的读操作或写操作分为两个 32 位的操作,因此,多线程中使用共享可变的 long、double 变量是不安全的。

解决办法?用 volatile 关键字声明变量,或用锁保护变量的读写。

非原子的 64 位操作

标签:java   关键字   保护   解决   变量   声明变量   操作   jvm   ola   

原文地址:https://www.cnblogs.com/xmsx/p/9720406.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!