使用 ForkJoin 的作業竊取而不僅僅是普通執行緒池的佇列有什么好處?來自 ForkJoinPool 的“作業竊取”是否比從執行緒池的佇列中獲取任務更好?不是偷東西嗎?
uj5u.com熱心網友回復:
ForkJoinPool 是為遞回操作而設計的。例如,這可能是像 MergeSort 這樣的分而治之的演算法。在這樣的演算法中,一個執行緒通常會等待子執行緒完成。
這就是“作業竊取”的用武之地。作業將從等待執行緒中被實際有作業要做的人竊取。
如果您有固定數量的不會產生新執行緒的執行緒,您應該只使用普通的 ExecutorService ThreadPool。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/351825.html
上一篇:Java創建直方圖方法有人可以幫助我理解這段代碼嗎?
下一篇:比較兩個字串并替換匹配項
