工作竊取算法就不存在競爭情況了?

一般使用雙端隊列來配合工作竊取算法的使用,被竊取的線程永遠只從雙端隊列頭部獲取任務執行,而竊取任務的線程則永遠從雙端隊列的尾部獲取任務執行。通過這樣的方法,可以讓線程被充分的利用,不會空閒下來,同時一個線程從隊列頭拿任務,一個線程從隊列尾竊取任務,線程間的競爭也大大減少了,不過如果雙端隊列中只剩下一個任務了,就會出現競爭的情況。所以工作竊取算法還是存在競爭情況的,它只是通過雙端隊列減少了線程間的競爭。

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