一、思維導圖
二、詳細說明
阻塞
當一個線程進入臨界區(公共資源)之後,其他的線程必須等待這個線程執行完畢之後才能進入臨界區。
無飢餓
線程排隊,不管優先級大小,先來的先進入,這樣就不會產生飢餓等待資源,即爲公平鎖,非公平鎖就是,線程有優先級,優先級會影響線程的執行順序,會導致飢餓鎖額產生
無障礙
共享資源不加鎖,每個線程都可以讀寫,線程進入後發現檢測資源,如果發現資源被修改了,則回滾,重試該操作,直到這個操作成功。當多個線程同時讀寫,容易導致死循環。
無鎖
無鎖是無障礙的升級版,無鎖保證了一個線程的有限步驟內可以成功退出,不管是否吸修改成功,這樣就可以避免多個線程回滾導致死循環的問題。
無等待
無等待是無鎖的升級版,併發編程的最高境界,無鎖會導致優先級低的線程長時間不被執行,一直處於飢餓狀態。無等待則要求所有線程在有限步驟內完成退出,讓優先級比較低的線程有機會執行。從而讓所有線程都有機會執行,提高併發度。