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 TestFuture {
public static void main(String[] args) throws InterruptedException, ExecutionException{
final ExecutorService exec=Executors.newFixedThreadPool(3);
Callable<String> call=new Callable<String>(){
public String call(){
try {
Thread.sleep(1000*2);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return "Thread is finished";
}
};
Future<String> task=exec.submit(call);
System.out.println("waite son Thread finished");
String obj=task.get();
System.out.println("return finished:"+obj);
exec.shutdown();
}
}