2016-06-13 25 views

回答

2

下圖描述瞭如何在ForkJoinPool平衡的作品。

垂直線是池中的線程。時間在上升。連接線程的顏色線是任務竊取。每當線程發現其本地任務隊列爲空時,它會從某個其他線程的本地隊列中竊取一些任務,並在這兩個線程之間看到一條線。

在早期階段(在圖的頂部),所有線程都忙於處理他們自己的任務。但是他們逐漸完成並開始從其他線程竊取任務,並且圖表變得嘈雜。

該圖旨在說明ForkJoinPool如何儘可能保持所有線程(以及CPU資源)儘快完成所有任務。