1.
單線程happen-before原則:在同一個線程中,書寫在前面的操作happen-before后面的操作。
2.
鎖的happen-before原則:同一個鎖的unlock操作happen-before此鎖的lock操作。
3.
volatile的happen-before原則:對一個volatile變量的寫操作happen-before對此變量的任意操作(當然也包括寫操作了)
4.happen-before的傳遞性原則:如果A操作happen-before B操作,B操作happen-before C操作,那么A操作happen-before C 操作
5.線程啟動的happen-before原則:同一個線程的start方法happen-before此線程的其他方法。
6.線程中斷的happen-before原則:對縣城interrupt方法的調用happen-before被中斷線程的檢測到中斷發送的代碼。
7.線程終結的happen-before原則:線程中的所有操作都happen-before線程的終止檢測。
8.
對象創建的happen-before原則:對象的初始化完成先於他的finalize方法的調用