synchronize關鍵字 原理

towboat發表於2024-10-28

一個monitor 同一時間只被一個執行緒獲取

使用monitorenter ,monitorexit 指令,指令執行時,當前執行緒判斷:

  1. monitor的計數器 =0 ,沒有被任何執行緒獲取

  2. 被其他執行緒獲取

  3. 被當前執行緒獲取(可重入)