启动线程执行任务,如果需要在任务执行完毕之后得到任务执行结果,可以使用从Java 1.5开始提供的Callable和Future
下面就分析一下Callable、Future以及FutureTask的具体实现及使用方法
源码分析基于JDK 1.7

一、Callable 与 Runnable

java.lang.Runnable是一个接口,只有一个run()方法

public interface Runnable {    public abstract void run();
}

run()方法的返回值是void,故在执行完任务后无法返回任何结果

Callable是java.util.concurrent包下的,也是一个接口,也只有一个

网友评论