啟動線程執(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)友評論