大家好,小物來(lái)為大家解答以上的問(wèn)題。volatile關(guān)鍵字的作用(c volatile關(guān)鍵字的作用)這個(gè)很多人還不知道,現(xiàn)在讓我們一起來(lái)看看吧!
volatile在Java并發(fā)編程中常用于保持內(nèi)存可見性和防止指令重排序。
1. volatile原理:
2. 在訪問(wèn)volatile變量時(shí)不會(huì)執(zhí)行加鎖操作,因此也就不會(huì)使執(zhí)行線程阻塞,因此volatile變量是一種比sychronized關(guān)鍵字更輕量級(jí)的同步機(jī)制。當(dāng)對(duì)非 volatile 變量進(jìn)行讀寫的時(shí)候,每個(gè)線程先從內(nèi)存拷貝變量到CPU緩存中。如果計(jì)算機(jī)有多個(gè)CPU,每個(gè)線程可能在不同的CPU上被處理,這意味著每個(gè)線程可以拷貝到不同的 CPU cache 中。
本文到此分享完畢,希望對(duì)大家有所幫助。
標(biāo)簽:
免責(zé)聲明:本文由用戶上傳,與本網(wǎng)站立場(chǎng)無(wú)關(guān)。財(cái)經(jīng)信息僅供讀者參考,并不構(gòu)成投資建議。投資者據(jù)此操作,風(fēng)險(xiǎn)自擔(dān)。 如有侵權(quán)請(qǐng)聯(lián)系刪除!