高併發系列之二:併發級別

一、思維導圖

在這裏插入圖片描述

二、詳細說明

阻塞

當一個線程進入臨界區(公共資源)之後,其他的線程必須等待這個線程執行完畢之後才能進入臨界區。

無飢餓

線程排隊,不管優先級大小,先來的先進入,這樣就不會產生飢餓等待資源,即爲公平鎖,非公平鎖就是,線程有優先級,優先級會影響線程的執行順序,會導致飢餓鎖額產生

無障礙

共享資源不加鎖,每個線程都可以讀寫,線程進入後發現檢測資源,如果發現資源被修改了,則回滾,重試該操作,直到這個操作成功。當多個線程同時讀寫,容易導致死循環。

無鎖

無鎖是無障礙的升級版,無鎖保證了一個線程的有限步驟內可以成功退出,不管是否吸修改成功,這樣就可以避免多個線程回滾導致死循環的問題。

無等待

無等待是無鎖的升級版,併發編程的最高境界,無鎖會導致優先級低的線程長時間不被執行,一直處於飢餓狀態。無等待則要求所有線程在有限步驟內完成退出,讓優先級比較低的線程有機會執行。從而讓所有線程都有機會執行,提高併發度。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章