国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

原子性

2019-11-08 02:58:47
字體:
來源:轉載
供稿:網友

  當在一個表達式中使用一個non-long或者non-double型字段時,原子性可以確保你將獲得這個字段的初始值或者某個線程對這個字段寫入之后的值;但不會是兩個或更多線程在同一時間對這個字段寫入之后產生混亂的結果值(即原子性可以確保,獲取到的結果值所對應的所有bit位,全部都是由單個線程寫入的)。但是,如下面(譯注:指可見性章節)將要看到的,原子性不能確保你獲得的是任意線程寫入之后的最新值。

  在java 中除了 long 和 double 之外的所有基本類型的讀和賦值,都是原子性操作。而64位的long 和 double 變量由于會被JVM當作兩個分離的32位來進行操作,所以不具有原子性,會產生字撕裂問題。但是當你定義long或double變量時,如果使用 volatile關鍵字,就會獲到(簡單的賦值與返回操作的)原子性

  雖然java內存模型不保證non-volatile long 和 non-volatile double的原子性,當然它們在某些場合也具有原子性。(譯注:non-volatile long在64位JVM,OS,CPU下具有原子性)


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 叶城县| 连城县| 同德县| 莲花县| 磐石市| 铜梁县| 莱阳市| 襄樊市| 汉川市| 苏尼特右旗| 越西县| 云梦县| 桂平市| 丹阳市| 黑河市| 宣城市| 黔东| 南丹县| 冕宁县| 苏尼特右旗| 西华县| 临沂市| 宝清县| 北海市| 宁强县| 松原市| 正蓝旗| 和龙市| 建湖县| 武定县| 曲水县| 尚志市| 仁布县| 平顺县| 屏边| 文登市| 浦县| 永兴县| 阜宁县| 明星| 兴和县|