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