- 实现: FutureTask 实现了 RunnableFuture 接口,而 RunnableFuture 分别继承了 Runnable 和 Future 接口,因此 FutureTask 类既可以被线程执行,又可以拿到线程执行的结果。
- 作用:FutrueTask 应用于多线程中异步处理并得到处理结果的场景。
- 1、Runnable 没有返回值,而 Callable 能返回执行结果
2、Callable 接口实现类中的 call 方法允许异常向上抛出,可以在内部处理,try catch。但是 Runnable 接口实现类中 run 方法的异常必须在内部处理,不能抛出