一、简要说明

Callable和FutureTask配合,完成异步方法调用并能获取到执行后的结果


二、实现原理

只是一个Runnable的特别的实现模式而已,并没有改变任何Thread->Runnable的方式

java concurrent-Callable FutureTask

从上图可以看到,FutureTask其实还是一个Runnable的实现类,故Thread还是能执行其run的方法,

而Callable的call方法,其实是Future的规范标准而已,FutureTask在执行run方法的时候会调用Callable的call方法,

不会将Callable的返回结果或者异常存放到FutureTask的成员变量上,这样后续的客户端便能通过FutureTask获取

异步执行Callable后的方法或者异常

相关文章: