CompletableFuture 对比 Callable

 

 1. 多个异步返回统一处理 CompletableFuture 对比  Callable

List<CompletableFuture> a = new ArrayList<>();
for(int i=1;i<20;i++){
final int j = i;
CompletableFuture<String> f = CompletableFuture.supplyAsync(()->{
switch(j){
case 1:return "123";
case 2:return "456";
case 3:return "789";
//....
}
return "";
});
a.add(f);
}
for(CompletableFuture b :a){
System.out.println(b.get());
}



ExecutorService ex = Executors.newFixedThreadPool(20);
List<Future> listFuture = new ArrayList<Future>();
for(int i =1;i<20;i++){
final int temp = i;
Callable ca = new Callable(){
public Object call()throws Exception{
switch(temp){
case 1: return "123";
case 2: return "456";
case 3: return "789";
//......
}
return null;
}
};
Future future = ex.submit(ca);
listFuture.add(future);
}

 

posted @ 2024-04-16 21:23  好mingzi给猪了  阅读(4)  评论(0编辑  收藏  举报