国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

JMM一致性協(xié)議

FrozenMap / 2441人閱讀

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

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

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

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

StoreLoad的意思

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

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

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/65774.html

相關(guān)文章

  • (七)Volatile的作用及原理

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

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

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

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

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

    NervosNetwork 評(píng)論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 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

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