future
public class FutureA implements Callable<String> {
@Override
public String call() throws Exception {
return "hello,";
}
}
public class FutureB implements Callable<String> {
@Override
public String call() throws Exception {
return "world";
}
}
public class FutureTest {
public static void main(String[] args) {
try {
ExecutorService executorService = Executors.newCachedThreadPool();
Future<String> f1 = executorService.submit(new FutureA());
Future<String> f2 = executorService.submit(new FutureB());
String str1= f1.get();
String str2= f2.get();
System.out.print(str1+":"+str2);
}catch (Exception e){
}
}
}
get方法实现了同步
FutureTask
FutureTask<String> f =new FutureTask<>(new FutureA());
FutureTask<String> f1 =new FutureTask<>(new FutureB());
executorService.submit(f);
executorService.submit(f1);
System.out.print(f.get()+":"+f1.get());