问题包含
说一下Callable这个接口的理解?
说一下Future接口的理解?
说一下FutureTask类的理解?
说一下CompletionService接口的理解?
问题回答
1.通过Callable+Future,Callable负责执行返回,Future负责接收。Callable接口对象可以交给ExecutorService的submit方法去执行。
2.通过Callable+FutureTask,Callable负责执行返回,FutureTask负责接收。FutureTask同时实现了Runnable和Callable接口,可以给到ExecutorService的submit方法和Thread去执行。
3.通过CompletionService,jdk1.8之后提供了完成服务CompletionService,可以实现这样的需求。
4.注意,实现Runnable接口任务执行结束后无法获取执行结果。