【发布时间】:2011-07-27 21:46:54
【问题描述】:
我有以深度优先方式处理树结构的递归代码。代码基本上是这样的:
function(TreeNode curr)
{
if (curr.children != null && !curr.children.isEmpty())
{
for (TreeNode n : curr.children)
{
//do some stuff
function(n);
}
}
else
{
//do some other processing
}
}
我想使用线程来更快地完成这项工作。大部分时间都花在遍历上,所以我不想只创建一个线程来处理“其他处理”,因为它不需要那么长时间。我想我想在“做一些事情”时分叉线程,但这将如何工作?
【问题讨论】:
-
所以处理顺序不重要?孩子们可能会以随机顺序获得进程?
标签: java multithreading recursion parallel-processing