package com.dasong;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
public class T implements Callable<String> {
public String call() throws Exception {
int i=0;
while (i<10) {
i++;
System.out.println(i);
Thread.sleep(300);
}
return "执行完成";
}
public static void main(String[] args) {
List<Future<String>> list=new ArrayList<Future<String>>();
ExecutorService service=Executors.newCachedThreadPool();
list.add(service.submit(new T()));
for (Future<String> future : list) {
try {
System.out.println(future.get());
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
}
service.shutdownNow(); //先停止submit 等待执行完成再停止
/* service.shutdown(); */ //立即停止
}
}
java线程返回值
最新推荐文章于 2024-04-15 00:24:14 发布