【发布时间】:2012-06-28 10:38:00
【问题描述】:
我有以下使用FooProcessor 类的Foo 类。所以我想做的是,在运行 cp1 实例进程方法时,我想并行运行cp2.process()。
public class Foo {
public static void main(String [] args){
FooProcessor cp1 = new FooProcessor();
FooProcessor cp2 = new FooProcessor();
cp1.process();
// in parallel process cp2.process();
}
}
public class FooProcessor {
public void process(){
System.out.println("Processing..");
}
}
但是,我希望 cp1 按顺序运行,所以我希望它运行并完成,如果 cp2 没有完成或失败,那很好。如果它没有失败,我想加入结果。它没有返回此示例中的任何内容,但我想返回结果。
为此,应该使用TaskExecutor吗?还是线程?
我只希望 cp2 与 cp1 并行运行。或者如果我添加更多让我们说 cp3,我希望它也与 cp1 并行运行。
【问题讨论】:
-
“我想要 cp1 顺序” - 你的意思是你想让 cp1 和 cp2 并行运行,但是一旦 cp1 完成它正在做的事情就停止两者,然后要么从 cp2 获取结果,如果它有也完成了,否则停止?
标签: java multithreading threadpool executor