runable可以看做是异步的没参数没返回值的一个线程任务,
Callable与Runnable累世 但是有返回值,它有个参数化泛型方法call是返回值的类型。
Future保存异步计算的结果,可以启动一个计算 future对象交给某个对象,然后忘掉它,
在计算好后可以获得结果。
Future接口有以下方法:
public interface Futere<v> { v get() throws v get(timeout:long,uit:timeUtil) cance(): void isCance(); isDone(); }
他们的作用从名字就可以看出来,
FutureTask 是以个包装器,可以将CallAble 和Future包装起来,实现runnable接口和future接口。
FutureTask<String> task = new FutureTask<String>( new Callable<String>() { public String call() throws Exception { return "just test!"; } }); new Thread(task).start(); System.out.println(task.get());