在Doug Lea的论文 “一个Java fork/join框架” 的细节:关于fork-join框架
http://gee.cs.oswego.edu/dl/papers/fj.pdf
在2.1工作窃取他说:
当工人线程遇到连接操作,它处理其他任务 ,如果有的话,直到目标任务是发现有 完成(通过isDone)。否则,所有任务将运行至完成而没有 阻止。
所以谁能告诉我具体在哪里,这些“其他任务”从何而来?他们是否来自其他工作线程的任务队列?这是否意味着每当一个工作线程遇到连接调用时,它就会继续“从其他线程中窃取任务”而不是“跳到其自己队列中的其他任务”?
如果您想了解更多关于这方面的细节,您可能需要阅读有关偷工作的西尔克论文。 java版本与leisersons的工作并不完全相同,但非常相似,并且leiserson更详细地描述了它。 – Voo 2012-04-11 09:36:09