算法:工作竊取算法(work-stealing)。

工作竊取算法是指某個線程從其他隊列裏竊取任務來執行。那麼,爲什麼需要使用工作竊取算法呢?假如我們需要做一個比較大的任務,可以把這個任務分割爲若干互不依賴的子任務,爲了減少線程間的競爭,把這些子任務分別放到不同的隊列裏,併爲每個隊列創建一個單獨的線程來執行隊列裏的任務,線程和隊列一一對應。比如A線程負責處理A隊列裏的任務。但是,有的線程會先把自己隊列裏的任務幹完,而其他線程對應的隊列裏還有任務等待處
相關文章
相關標籤/搜索