當一個線程調用Lock對象的acquire()方法獲得鎖時,這把鎖就進入“locked”狀態。因為每次只有一個線程1可以獲得鎖,所以如果此時另一個線程2試圖獲得這個鎖,該線程2就會變為“blo同步阻塞狀態。直到擁有鎖的線程1調用鎖的release()方法釋放鎖之后,該鎖進入“unlocked”狀態。線程調度程序從處于同步阻塞狀態的線程中選擇一個來獲得鎖
(根據一個申請隊列來的),
(申請隊列順序一般誰搶到誰排在前面)
并使得該線程進入運行(running)狀態。
為的是資源同步共享。
當一個線程調用Lock對象的acquire()方法獲得鎖時,這把鎖就進入“locked”狀態。因為每次只有一個線程1可以獲得鎖,所以如果此時另一個線程2試圖獲得這個鎖,該線程2就會變為“blo同步阻塞狀態。直到擁有鎖的線程1調用鎖的release()方法釋放鎖之后,該鎖進入“unlocked”狀態。線程調度程序從處于同步阻塞狀態的線程中選擇一個來獲得鎖
(根據一個申請隊列來的),
(申請隊列順序一般誰搶到誰排在前面)
并使得該線程進入運行(running)狀態。
為的是資源同步共享。