色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

深入理解java虛擬機-第12章Java內存模型與線程

瀏覽:9日期:2022-09-06 11:35:44

Java內存模型

主內存與工作內存:

java內存模型規定了所有的變量都在主內存中,每條線程還有自己的工作內存。

工作內存中保存了該線程使用的主內存副本拷貝,線程對變量的所有操作都必須在工作內存中進行。

內存間交互操作:

1 lock 作用于主內存的變量,它把一個變量標識為一個線程獨占的狀態。

2 unlock 作用于主內存的變量,把鎖定的變量釋放出來

3 read 作用于工作內存的變量,把一個變量的值從主內存傳輸到線程的工作內存中。

4 load 作用于工作內存的變量,它把read操作從主內存中得到的變量值放入工作內存的變量副本中

5 use 作用于工作內存的變量 把工作內存中一個變量的值傳遞給執行引擎

6 assign 作用于工作內存的變量, 把一個從執行引擎收到的值賦給工作內存的變量

7 store 作用天工作內存的變量,把工作內存中一個變量的值傳送到主內存中。

8 write 作用于主內存的變量,把store操作從工作內存中得到的變量的值放入主內存中

當一個變量定義為volatile后,它將具備兩種特性

1 保證此變量對所有線程的可見性,對于非原子性的操作,仍然不是線程安全的。

2 禁止指令重排序優化。

原子性、可見性與有序性

先行先發原則

Java線程的狀態轉換

新建 New 創建后沿未啟動的純種處于這種狀態

運行 Runnable 包括了操作系統線程狀態中的Running和Ready,處于此狀態的線程有可能正在執行,也有可能正在等等著CPU為它分配執行時間

無限期等待 Waiting 處于這種狀態的線程不會被分配CPU執行時間,它們要等待被其它線程顯式地喚醒:沒有設置Timeout參數的Object.wait()方法;沒有設置Timeout參數的Thread.join()方法;LockSupport.park()方法

限期等待 Timed Waiting 處于這種狀態的線程也不會被分配CPU執行時間,不過無須等待被期它線程顯式地喚醒,在一定時間后它們會由系統自動喚醒: Thread.sleep()方法;設置了Timeout參數的Object.wait()方法;設置了Thimeout參數的Thread.join()方法;LockSupport.parkNanos()方法;LockSuport.parkUnitl()方法

阻塞 Blocked 等待著獲取到一個排他鎖

結束 Terminated 已終止線程的線程狀態

標簽: Java
相關文章:
主站蜘蛛池模板: 国产成人a毛片 | 国产成人在线播放 | 久在草| 91福利精品老师国产自产在线 | 国产亚洲精品久久综合影院 | 日韩欧美一及在线播放 | 日韩一区二区三区不卡视频 | 日韩高清成人毛片不卡 | 在线观看视频一区二区三区 | 成年女人免费视频播放成年m | 亚洲精品欧美精品一区二区 | 综合 欧美 国产 视频二区 | 极品国产在线 | 精品欧美一区二区三区精品久久 | 精品国产一区二区三区免费看 | 久久一级片 | 高清毛片一区二区三区 | 亚洲精品大片 | 亚洲性久久| 九九九九热精品视频 | 久久老司机波多野结衣 | 亚洲欧美一区二区三区在饯 | 成人9久久国产精品品 | 在线免费看一级片 | 欧美三级黄色大片 | 一级特黄aa大片欧美网站 | 不卡午夜视频 | 伊人久久国产免费观看视频 | 欧美成人一级 | 在线综合+亚洲+欧美中文字幕 | 国产亚洲精品久久 | 欧美成人交tv免费观看 | 一级国产交换配乱淫 | 精品国产一区二区三区国产馆 | 久久久免费观看视频 | 亚洲精品国产综合久久一线 | 在线亚洲自拍 | 久色乳综合思思在线视频 | 最近中文字幕免费视频 | 99久久精品费精品国产一区二区 | 一区二区三区不卡在线观看 |