所以问题是我有一个执行计算密集型任务的对象。
假设主类有两个这样的对象,我将过程并行化如下。
Thread t1 = new Thread(new Runnable() {
@Override
public void run() {
obj1.compute();
}
});
Thread t2 = new Thread(new Runnable() {
@Override
public void run() {
obj2.compute();
}
});
t1.start();
t2.start();
t1.join();
t2.join();
但是,如果我有任意数量的对象,存储在一个列表中,那么最好的方法是什么?(假设数量为 10)。我正在研究执行程序服务,但不知道如何重新加入线程。ForkJoinPool 应该这样做,但我找不到如何使它工作。
我的首要任务是简单、清晰的代码,而不是性能(因为在计算所需的 10 分钟内看不到任何开销)。