Dar*_*der 3 java multithreading executor threadpool
我有以下Foo使用FooProcessor类的类.所以我想要做的是,在运行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..");
}
}
Run Code Online (Sandbox Code Playgroud)
但是,我想顺序cp1,所以我希望它运行并完成,如果cp2没有完成或失败它是好的.如果它失败了我想加入结果.它没有返回此示例中的任何内容,但我想返回结果.
为此,应该使用TaskExecutor?还是线程?
我只希望cp2与cp1并行运行.或者,如果我添加更多让我们说cp3,我希望它与cp1并行运行.
总结我实现它的方式:
ExecutorService executor = Executors.newFixedThreadPool(nThreads);future1.get()完成,future1未来在哪里与cp1相关联get返回(cp1已完成)取消所有其他期货,(或shutdownNow执行者服务,如果您不再需要执行人)| 归档时间: |
|
| 查看次数: |
6169 次 |
| 最近记录: |