Java并发编程实战~Happens-Before 规则
生活随笔
收集整理的這篇文章主要介紹了
Java并发编程实战~Happens-Before 规则
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Happens-Before?規則
前面一個操作的結果對后續操作是可見的
所以比較正式的說法是:
Happens-Before 約束了編譯器的優化行為,雖允許編譯器優化,但是要求編譯器優化后一定遵守Happens-Before 規則。
程序的順序性規則
這條規則是指在一個線程中,按照程序順序,前面的操作 Happens-Before 于后續的任意操作。
volatile 變量規則
對一個 volatile 變量的寫操作, Happens-Before 于后續對這個 volatile 變量的讀操作。
傳遞性
如果 A Happens-Before B,且 B Happens-Before C,那么 A Happens-Before C。
管程中鎖的規則
指對一個鎖的解鎖 Happens-Before 于后續對這個鎖的加鎖。
線程 start() 規則
主線程A啟動子線程B后,子線程B能夠看到主線程在啟動子線程B前的操作。
線程 join() 規則
主線程A等待子線程B完成,當子線程B完成后,主線程能夠看到子線程的操作。
總結
以上是生活随笔為你收集整理的Java并发编程实战~Happens-Before 规则的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HT中特殊字符φ的显示问题
- 下一篇: Java并发编程实战~原子类