0
我学习Java中的fork-join技术,写了下面的程序。我正在运行for循环(5次),我想在单独的线程中运行for循环的内容。这是正确的。问题是,当所有线程完成时,我想要一个大小为5的向量,它必须包含在索引0处执行线程1的结果,在索引1处执行线程2的结果........ ....在索引4处执行线程5的结果。我干净地直观地显示了我想实现的内容,但不知道它的语法。的Java叉加入问题
目前,我会在我的向量1号。
import java.util.Random;
import java.util.Vector;
import java.util.concurrent.*;
public class App {
public static void main(String[] args) {
// TODO Auto-generated method stub
ExecutorService executor = Executors.newCachedThreadPool();
Future<Vector<Integer> > futureResult = null;
for(int i = 0; i < 5; i++){
futureResult = executor.submit(new Callable<Vector<Integer> >(){
@Override
public Vector<Integer> call() throws Exception {
Random random = new Random();
int duration = random.nextInt(4000);
Vector<Integer> v = new Vector<Integer>();
v.add(duration);
return v;
}
});
}
executor.shutdown();
try {
System.out.println(futureResult.get());
} catch (InterruptedException | ExecutionException e) {
e.printStackTrace();
}
}
}
好,谢谢buuuuuuudy让我试试这个...... – VVV
感谢好友时,该解决我的问题。 – VVV