成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

JMM一致性協(xié)議

FrozenMap / 2450人閱讀

摘要:它們以一種指令屏障的方式來控制順序。不過這樣的方式能保證讀的一瞬間確保線程讀取到最新的數(shù)據(jù),因此要進(jìn)一步做到讀取修改寫入動(dòng)作是一致的,就將其升級為原子性。

JMM中一些普通變量的操作指令

A、Load操作發(fā)生在read之后(兩個(gè)之間可以有其他的指令)
B、普通變量的修改未必會(huì)立即發(fā)生Store操作,但發(fā)生Store操作,就會(huì)發(fā)生write操作

最細(xì)的粒度支持,也就是對Load、Store的各種順序控制,load、store兩兩組合為4中情況,LoadLoad、StoreStore、LoadStore、StoreLoad。它們以一種指令屏障的方式來控制順序。有些系統(tǒng)可能不支持某些指令的順序化,不過,絕大多數(shù)系統(tǒng)都支持StoreLoad指令。

StoreLoad的意思

可以簡單理解為Store優(yōu)先于Load發(fā)生。例如兩個(gè)在某個(gè)瞬間同時(shí)修改和讀取主存中的一個(gè)共享變量,此時(shí)的讀取操作將發(fā)生在修改之后。有了這樣一個(gè)特征,就實(shí)現(xiàn)了最細(xì)粒度的鎖,也是最輕量級的鎖。

不過這樣的方式能保證讀的一瞬間確保線程讀取到最新的數(shù)據(jù),因此要進(jìn)一步做到讀取、修改、寫入動(dòng)作是一致的,就將其升級為原子性。要達(dá)到原子性的效果,可以通過可見性、CAS自旋來完成,也可以通過synchronized來完成。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/65774.html

相關(guān)文章

  • (七)Volatile的作用及原理

    摘要:文章簡介分析的作用以及底層實(shí)現(xiàn)原理,這也是大公司喜歡問的問題內(nèi)容導(dǎo)航的作用什么是可見性源碼分析的作用在多線程中,和都起到非常重要的作用,是通過加鎖來實(shí)現(xiàn)線程的安全性。而的主要作用是在多處理器開發(fā)中保證共享變量對于多線程的可見性。 文章簡介 分析volatile的作用以及底層實(shí)現(xiàn)原理,這也是大公司喜歡問的問題 內(nèi)容導(dǎo)航 volatile的作用 什么是可見性 volatile源碼分析 ...

    marek 評論0 收藏0
  • Java內(nèi)存模型

    摘要:內(nèi)存模型對內(nèi)存模型的介紹對內(nèi)存模型的結(jié)構(gòu)圖的線程之間的通信是通過共享內(nèi)存的方式進(jìn)行隱式通信,即線程把某狀態(tài)寫入主內(nèi)存中的共享變量,線程讀取的值,這樣就完成了通信。 Java內(nèi)存模型(JMM) 1.對內(nèi)存模型的介紹 ①對Java內(nèi)存模型的結(jié)構(gòu)圖 java的線程之間的通信是通過共享內(nèi)存的方式進(jìn)行隱式通信,即線程A把某狀態(tài)寫入主內(nèi)存中的共享變量X,線程B讀取X的值,這樣就完成了通信。是一種...

    sherlock221 評論0 收藏0
  • Java 并發(fā)編程(學(xué)習(xí))

    摘要:并發(fā)編程的挑戰(zhàn)并發(fā)編程的目的是為了讓程序運(yùn)行的更快,但是,并不是啟動(dòng)更多的線程就能讓程序最大限度的并發(fā)執(zhí)行。的實(shí)現(xiàn)原理與應(yīng)用在多線程并發(fā)編程中一直是元老級角色,很多人都會(huì)稱呼它為重量級鎖。 并發(fā)編程的挑戰(zhàn) 并發(fā)編程的目的是為了讓程序運(yùn)行的更快,但是,并不是啟動(dòng)更多的線程就能讓程序最大限度的并發(fā)執(zhí)行。如果希望通過多線程執(zhí)行任務(wù)讓程序運(yùn)行的更快,會(huì)面臨非常多的挑戰(zhàn):(1)上下文切換(2)死...

    NervosNetwork 評論0 收藏0
  • 深入理解Java內(nèi)存模型(七)——總結(jié)

    摘要:編譯器,和處理器會(huì)共同確保單線程程序的執(zhí)行結(jié)果與該程序在順序一致性模型中的執(zhí)行結(jié)果相同。正確同步的多線程程序的執(zhí)行將具有順序一致性程序的執(zhí)行結(jié)果與該程序在順序一致性內(nèi)存模型中的執(zhí)行結(jié)果相同。 前情提要 深入理解Java內(nèi)存模型(六)——final 處理器內(nèi)存模型 順序一致性內(nèi)存模型是一個(gè)理論參考模型,JMM和處理器內(nèi)存模型在設(shè)計(jì)時(shí)通常會(huì)把順序一致性內(nèi)存模型作為參照。JMM和處理器內(nèi)...

    paney129 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<