日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

锁底层之内存屏障与原语指令

發布時間:2025/3/8 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 锁底层之内存屏障与原语指令 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Java內存模型
1.工作內存和主內存
Java內存模型規定所有的變量都存儲在主內存中(JVM內存的一部分),每個線程有自己獨立的工作內存,它保存了被該線程使用的變量的主內存復制。線程對這些變量的操作都在自己的工作內存中進行,不能直接操作主內存和其他工作內存中存儲的變量或者變量副本。線程間的變量訪問需通過主內存來完成,三者的關系如圖1所示。

2.Java內存交互協議
Java內存模型定義了8種操作來完成主內存和工作內存的變量訪問,具體如下。
· lock:主內存變量,把一個變量標識為某個線程獨占的狀態。
· unlock:主內存變量,把一個處于鎖定狀態變量釋放出來,被釋放后的變量才可以被其他線程鎖定。
· read:主內存變量,把一個變量的值從主內存傳輸到線程的工作內存中,以便隨后的load動作使用。
· load:工作內存變量,把read讀取到的主內存中的變量值放入工作內存的變量副本中。
· use:工作內存變量,把工作內存中變量的值傳遞給Java虛擬機執行引擎,每當虛擬機遇到一個需要使用到變量值的字節碼指令時,將會執行該操作。
· assign:工作內存變量,把從執行引擎接收到的變量的值賦值給工作變量,每當虛擬機遇到一個給變量賦值的字節碼時,將會執行該操作。
· store:工作內存變量,把工作內存中一個變量的值傳送到主內存中,以便隨后的write操作使用。
· write:主內存變量,把store操作從工作內存中得到的變量值放入主內存的變量中。

?

轉載于:https://www.cnblogs.com/htkj/p/10932552.html

總結

以上是生活随笔為你收集整理的锁底层之内存屏障与原语指令的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。