400-650-7353

精品課程

volatile原理 volatile是什么,工作原理分析

發(fā)布: Java培訓(xùn) 發(fā)布時(shí)間:2021-10-12 17:17:43

推薦答案
品牌型號:聯(lián)想小新Pro13/系統(tǒng)版本:windows10

volatile是輕量級的synchronized,在多線程并發(fā)編程中發(fā)揮著同步共享變量、禁止處理器重排序的重要作用。

Java中的volatile關(guān)鍵字保證多線程操作時(shí)變量的可見性,如果一個(gè)變量被volatile所修飾,在每次數(shù)據(jù)變化之后,其值都會(huì)被強(qiáng)制刷入主存。而其他處理器的緩存由于遵守了緩存一致性協(xié)議,也會(huì)把這個(gè)變量的值從主存加載到自己的緩存中。這就保證了一個(gè)volatile在并發(fā)編程中,其值在多個(gè)緩存中是可見的。

volatile除了可以保證數(shù)據(jù)的可見性之外,還可以禁止指令重排優(yōu)化等。被volatile修飾的變量的操作,會(huì)嚴(yán)格按照代碼順序執(zhí)行,load->add->save 的執(zhí)行順序就是:load、add、save。 
 

其它答案
牛仔很忙2020-06-22 18:56:36

線程寫 volaitle 變量的步驟為:

改變線程工作內(nèi)存中 volatile 變量副本的值

將改變后的副本的值從工作內(nèi)存刷新到主內(nèi)存


中公旗下IT培訓(xùn)品牌

  • 中公教育品牌

     中公教育是一家中國領(lǐng)先的全品類職業(yè)教育機(jī)構(gòu),提供超過100個(gè)品類的綜合職業(yè)就業(yè)培訓(xùn)服務(wù)。公司在全國超過1000個(gè)直營網(wǎng)點(diǎn)展開經(jīng)營,深度覆蓋300多個(gè)地級市,并正在快速向數(shù)千個(gè)縣城和高校擴(kuò)張。

  • 完善就業(yè)體系

    通過階段性授課機(jī)制,和每階段的定期考核,先讓學(xué)員能夠?qū)W會(huì)所學(xué)內(nèi)容,才能找打合適工作。最后一個(gè)階段為就業(yè)課程,從技術(shù)和面試兩個(gè)方面加深就業(yè)能力,并且還有不定期的雙選會(huì)供大家選擇。

  • 全程面授+實(shí)戰(zhàn)技術(shù)

    線下課程全程是師資面對面教學(xué),不會(huì)存在上課只對著大屏幕上課的情況,有問題都可以在課上得到解答。并且優(yōu)就業(yè)通過自主研發(fā)大綱和學(xué)習(xí)路線,并且定期更新課程所學(xué)技術(shù),讓大家所學(xué)技術(shù)不落伍。

中公優(yōu)就業(yè)專業(yè)職業(yè)規(guī)劃老師

為您詳細(xì)答疑解惑,更能領(lǐng)取免費(fèi)課程

相關(guān)問題

更多課程

專業(yè)課程老師將第一時(shí)間為您解答

立即答疑
修改
優(yōu)就業(yè):ujiuye

關(guān)注中公優(yōu)就業(yè)官方微信

  • 關(guān)注微信回復(fù)關(guān)鍵詞“大禮包”,領(lǐng)80G學(xué)習(xí)資料