java ExecutorService按照顺序执行循环
时间: 2023-11-03 12:16:45 浏览: 111
Java 线程池ExecutorService详解及实例代码
要按照顺序执行循环,可以使用Java的ExecutorService和Future对象。
首先,定义一个Callable任务,该任务将执行循环中的每个操作并返回结果:
```
public class MyTask implements Callable<String> {
private int i;
public MyTask(int i) {
this.i = i;
}
@Override
public String call() throws Exception {
// 执行任务
return "Task " + i + " is completed";
}
}
```
然后,创建一个ExecutorService并提交Callable任务,将返回的Future对象添加到列表中:
```
ExecutorService executorService = Executors.newFixedThreadPool(5);
List<Future<String>> futures = new ArrayList<>();
for (int i = 0; i < 10; i++) {
Future<String> future = executorService.submit(new MyTask(i));
futures.add(future);
}
```
最后,按照顺序遍历Future列表并获取结果:
```
for (Future<String> future : futures) {
String result = future.get();
System.out.println(result);
}
```
这样,就可以保证按顺序执行循环并获得结果。
阅读全文