上下文切換:
CPU切換線程時就產(chǎn)生了一次上下文切換;
Java如何實現(xiàn)原子操作:
鎖和CAS操作;
happens-before規(guī)則:前一個操作的結(jié)果對后一個操作可見
- 一個線程中每個操作before于該線程中的任意后續(xù)操作;
- 對一個鎖的解鎖before于后續(xù)對這個鎖的加鎖;
- 對一個volatile變量的寫before于后續(xù)對這個變量的讀;
- 如果A before B、B before C,則A before C;
- 線程A執(zhí)行threadB.strat(),則A的threadB.start()操作before于線程B中任意操作;
- 線程A執(zhí)行threadB.join(),則B中任意操作before與線程A中threadB.join()之后的任意操作;