鍍金池/ 問答/Java  Linux  網(wǎng)絡(luò)安全/ Java:內(nèi)存屏障中的屏障是針對(duì)單線程操作還是不同線程的操作?

Java:內(nèi)存屏障中的屏障是針對(duì)單線程操作還是不同線程的操作?

https://www.jianshu.com/p/2ab...

譬如這句話

LoadLoad屏障:對(duì)于這樣的語句Load1; LoadLoad; Load2,在Load2及后續(xù)讀取操作要讀取的數(shù)據(jù)被訪問前,保證Load1要讀取的數(shù)據(jù)被讀取完畢。


其中,Load1和Load2是在同一個(gè)線程中,還是可以在不同線程中?

還有就是,為何StoreLoad屏障是一個(gè)萬能屏障?”對(duì)于這樣的語句Store1; StoreLoad; Load2,在Load2及后續(xù)所有讀取操作執(zhí)行前,保證Store1的寫入對(duì)所有處理器可見“ 這樣的表現(xiàn)如何兼具其他三種屏障功能的?

回答
編輯回答
雨萌萌

可以是在同一個(gè)線程中,也可以是多個(gè)線程。內(nèi)存屏障其實(shí)就是在讀取前或?qū)懭牒笏⑿戮彺娑?,并不是什么很難理解的概念。

2017年3月26日 10:01