一、简要说明
Callable和FutureTask配合,完成异步方法调用并能获取到执行后的结果
二、实现原理
只是一个Runnable的特别的实现模式而已,并没有改变任何Thread->Runnable的方式
从上图可以看到,FutureTask其实还是一个Runnable的实现类,故Thread还是能执行其run的方法,
而Callable的call方法,其实是Future的规范标准而已,FutureTask在执行run方法的时候会调用Callable的call方法,
不会将Callable的返回结果或者异常存放到FutureTask的成员变量上,这样后续的客户端便能通过FutureTask获取
异步执行Callable后的方法或者异常