如何阅读Shipilev的ForkJoin论文图表?

时间:2016-06-13 06:51:23

标签: java multithreading graph

有以下pdf:http://shipilev.net/talks/jeeconf-May2013-forkjoin.pdf

它包含一个我不理解的图表,附在下面。任何人都可以提供任何阅读帮助吗?

Graph In Question That I Don't Understand

1 个答案:

答案 0 :(得分:2)

此图描绘了ForkJoinPool中平衡的工作原理。

垂直线是池中的线程。时间正在上升。连接线程的颜色线是任务窃取。每次线程发现其本地任务队列为空时,它会从某个其他线程的本地队列中窃取某些任务,并且您会在这两个线程之间看到一条线。

在早期阶段(在图的顶部),所有线程都忙于处理自己的任务。但逐渐他们完成它们并开始从其他线程窃取任务,图表变得嘈杂。

该图旨在说明ForkJoinPool如何尽最大努力保持所有线程(以及CPU资源)尽快完成所有任务。