啟動線程執(zhí)行任務(wù),如果需要在任務(wù)執(zhí)行完畢之后得到任務(wù)執(zhí)行結(jié)果,可以使用從Java 1.5開始提供的Callable和Future
下面就分析一下Callable、Future以及FutureTask的具體實(shí)現(xiàn)及使用方法
源碼分析基于JDK 1.7

一、Callable 與 Runnable

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

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

run()方法的返回值是void,故在執(zhí)行完任務(wù)后無法返回任何結(jié)果

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

網(wǎng)友評論