国产探花免费观看_亚洲丰满少妇自慰呻吟_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下具有原子性)


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 买车| 即墨市| 塘沽区| 轮台县| 石林| 巩义市| 永丰县| 塔城市| 分宜县| 蒲江县| 望都县| 双柏县| 敖汉旗| 栾城县| 浏阳市| 巴中市| 浮梁县| 宁化县| 南宫市| 九龙县| 汉川市| 左权县| 横山县| 项城市| 昌平区| 友谊县| 台山市| 陕西省| 庄浪县| 黄龙县| 汉阴县| 巧家县| 广河县| 永昌县| 都兰县| 上栗县| 会理县| 奈曼旗| 论坛| 信丰县| 东辽县|