Future 模式
類似于ajax請求 ?頁面異步的進行后臺請求
用戶無需等待請求的結果 就可以繼續瀏覽或者操作
核心就是:去除了主函數的等待時間,并使得原本需要等待的時間段可以用于處理其他業務邏輯
?
JDK內置實現Future模式演示一下
public class RealData implements Callable<String> {String res = null;@Overridepublic String call() throws Exception {Thread.sleep(5000); // 模擬處理數據的過程 并將結果放在res里面res = "result";return res;}public static void main(String[] args) {FutureTask<String> futureTask = new FutureTask<String>(new RealData()); ExecutorService executor = Executors.newFixedThreadPool(1); executor.submit(futureTask); //這里使用sleep 模擬 真實業務try {Thread.sleep(2000);} catch (InterruptedException e) {e.printStackTrace();} try {System.out.println("res= " + futureTask.get()); //如果call()沒有執行完成 get依然會等待 } catch (Exception e) {e.printStackTrace();} }
}