1. 程式人生 > >java學習筆記(碎片化)

java學習筆記(碎片化)

關於java同步鎖的自己的理解:

jvm虛擬機器有個執行緒私有的記憶體叫“程式計數器”,是java處理多執行緒時如何記憶上一個執行緒執行的位置的標杆,我們都知道,java多執行緒是類似cpu處理程序那樣,執行緒輪流切換,在一個時刻,一個處理器只處理一個執行緒中指令,程式計數器就起到這種切換的效果。而synchronized同步鎖我認為就是改變當前執行緒的程式計數器記錄的位元組碼指令的地址(變成鎖的地址?),然後執行緒會把這段程式碼(同步程式碼塊)執行完全後再去根據另一個執行緒的程式計數器完成執行緒切換。總結就是,鎖統一了執行緒的一段程式碼的計數器地址,而讓這段程式碼能完全執行完畢。