Java线程同步(二)
生活随笔
收集整理的這篇文章主要介紹了
Java线程同步(二)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
為什么80%的碼農都做不了架構師?>>> ??
jvm內存模型:
1.jvm的主內存是多線程共享的;
2.每個線程都有自己的工作內存,線程的工作內存是有限制的;
?
當線程操作某個對象時,執行順序:
1.從主內存復制變量(Atm對象)到當前工作內存 ;
2.執行代碼,改變共享變量值;
3.用工作內存數據刷新主存相關內容;
?
多線程的可見性和可排序性:
1.可見性就是在多核或者多線程運行過程中內存的一種共享模式,在JMM模型里面,通過并發線程修改變量值的時候,必須將線程變量同步回主存過后,其他線程才可能訪問到。
2.可排序性提供了內存內部的訪問順序,在不同的程序針對不同的內存塊進行訪問的時候,其訪問不是無序的,比如有一個內存塊,A和B需要訪問的時候,JMM會提供一定的內存分配策略有序地分配它們使用的內存,而在內存的調用過程也會變得有序地進行,內存的折中性質可以簡單理解為有序性。而在Java多線程程序里面,JMM通過Java關鍵字volatile來保證內存的有序訪問。
?
?
?
?
?
?
轉載于:https://my.oschina.net/kun123/blog/719194
總結
以上是生活随笔為你收集整理的Java线程同步(二)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 危险的jsonp
- 下一篇: Heron 数据模型,API和组件介绍