同步阻塞

當一個線程調用Lock對象的acquire()方法獲得鎖時,這把鎖就進入“locked”狀態。因為每次只有一個線程1可以獲得鎖,所以如果此時另一個線程2試圖獲得這個鎖,該線程2就會變為“blo同步阻塞狀態。直到擁有鎖的線程1調用鎖的release()方法釋放鎖之后,該鎖進入“unlocked”狀態。線程調度程序從處于同步阻塞狀態的線程中選擇一個來獲得鎖

(根據一個申請隊列來的),

(申請隊列順序一般誰搶到誰排在前面)

并使得該線程進入運行(running)狀態。

為的是資源同步共享。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • GCD因為功能強大,操作簡便,成為蘋果官方推薦使用的多線程API。然而GCD也難只要逃涉及多線程就會遇到的死鎖問題...
    nemie閱讀 1,912評論 0 3
  • 引用自多線程編程指南應用程序里面多個線程的存在引發了多個執行線程安全訪問資源的潛在問題。兩個線程同時修改同一資源有...
    Mitchell閱讀 2,025評論 1 7
  • 王者榮耀,難得的十黑。前面兩局師徒二人一直在一邊,戰績一勝一負。但第三局,師徒二人被分到了對立面,師傅用了ad孫尚...
    _朝歌_閱讀 670評論 1 1
  • 作為一名初入職場新人,而且連工作內容也完全與專業無關,基本上每天都做錯事,光是想著心就碎了一地。 因為工作做錯了,...
    loserbaby閱讀 2,187評論 0 0
  • 小結 - 上午練琴;下午寫作業,運動;晚上值日,洗衣服,洗頭,讀書。 明日計劃 - 上午出去;下午寫作業;晚上學習。
    301Cl閱讀 149評論 0 1