1、一把鎖 (synchronized)
2、兩個並(併發 並行)
併發是在同一實體上的多個事件,是在一臺處理器上同時處理多個任務,同一時刻,其實是隻有一個時間在發生
並行是在不同實體上的多個事件,是在多臺處理器上同時處理多個任務,同一時刻,大家真的都在做事情,互不影響
3、三個程(程序 執行緒 管程)
程序
簡單的說,在系統中執行中的一個應用程式就是一個程序,每一個程序都有它自己的記憶體空間和系統資源
執行緒
也被稱為輕量級程序,在同一個程序內會有1個或多個執行緒,是大多數作業系統進行時序排程的基本單元
管程
Monitor物件,也就是我們平時說的鎖。
Monitor其實是一種同步機制,它的義務是保證(同一時間)只有一個執行緒可以訪問被保護的資料和程式碼。
JVM中同步是基於進入和退出監視器物件來實現的,每個物件例項都會有一個Monitor物件
Monitor物件會和Java物件一同建立和銷燬,它底層是由C++語言來實現的
執行執行緒就要求先成功持有管程,然後才能執行方法,最後當方法完成(無論是否正常完成)時釋放管程。在方法執行期間,執行執行緒持有了管程,其他任何執行緒都無法再獲取到同一個管程。