volatile、static
談到 volatile、static 就必須說(shuō)多線程。
1、一個(gè)線程在開(kāi)始執(zhí)行的時(shí)候,會(huì)開(kāi)啟一片自己的工作內(nèi)存(自己線程私有),同時(shí)將主內(nèi)存中的數(shù)據(jù)復(fù)制到自己 的工作內(nèi)存,從此讀寫(xiě)數(shù)據(jù)都是自己的工作內(nèi)存的數(shù)據(jù),(個(gè)人見(jiàn)解:其中寫(xiě)數(shù)據(jù)時(shí)會(huì)同步到主內(nèi)存,讀是讀自己的工作內(nèi)存的數(shù)據(jù))
2、成員變量被volatile 修飾后,發(fā)生改變:每次讀取被修飾的變量都是讀取主內(nèi)存中的變量,這樣就實(shí)現(xiàn)了多線程下的可見(jiàn)性,相當(dāng)于多個(gè)實(shí)例面對(duì)一個(gè)靜態(tài)變量。
3、成員變量被static 修飾后,每個(gè)實(shí)例(不是每個(gè)線程,static不是面對(duì)線程而是面對(duì)實(shí)例 )都共享 一個(gè)主內(nèi)存的數(shù)據(jù)。當(dāng)多線情況下時(shí),對(duì) 該成員的操作依然參照第1、 2 點(diǎn)。?
轉(zhuǎn)載于:https://www.cnblogs.com/abab/p/9553900.html
總結(jié)
以上是生活随笔為你收集整理的volatile、static的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
 
                            
                        - 上一篇: 如何检查无线路由器是否坏了 如何测量无线
- 下一篇: mysql concat的使用
