Future和Callable的关系
Runnable的缺陷
不能返回一个返回值
也不能抛出Checked Exception
Callable接口
类似于Runnable,被其他线程执行的任务
实现call方法
有返回值
Future
作用
可以执行异步子任务
方法
get方法


cancel方法
取消任务的执行
isDone方法
判断线程是否执行完毕
isCancelled方法
判断是否被取消
demo
/*** 描述: 演示一个Future的使用方法*/public class OneFuture {public static void main(String[] args) {ExecutorService service = Executors.newFixedThreadPool(10);Future<Integer> future = service.submit(new CallableTask());try {System.out.println(future.get());} catch (InterruptedException e) {e.printStackTrace();} catch (ExecutionException e) {e.printStackTrace();}service.shutdown();}static class CallableTask implements Callable<Integer> {@Overridepublic Integer call() throws Exception {Thread.sleep(3000);return new Random().nextInt();}}}
Callable和Future的关系

FutureTask


