-2
两个代码段,一个是连续的,另一种是并联:
以下两个代码是否得到相同的结果?下面
public<T> void sequentialRecursive(List<Node<T>> nodes, Collection<T> results)
{
for(Node<T> n: nodes) {
results.add(n.compute());
sequentialRecursive(n.getChildren(), results);
}
}
public<T> void parallelRecursive(final Executor exec, List<Node<T>> nodes, final Collection<T> results) {
for(final Node<T> n : nodes){
exec.execute(new Runnable(){
public void run()
{
results.add(n.compute());
}
});
parallelRecursive(exec, n.getChildren(), results);
}
}
我想知道如果上述两个功能产生相同的结果?低于结果可能吗?
SequentialRecursive的结果是:[1,2,3,4,5],并且ParallelRecursive的结果是:[1,3,2,5,4]。
您是否尝试过实际运行它? :) – Scis
当你试图执行这两种方法时,输出是什么? –
对不起,我没有尝试,它是一本书中的例子。我对此感到困惑。 – Charlesjean