Future 模式
类似于ajax请求 页面异步的进行后台请求
用户无需等待请求的结果 就可以继续浏览或者操作
核心就是:去除了主函数的等待时间,并使得原本需要等待的时间段可以用于处理其他业务逻辑
JDK内置实现Future模式演示一下
public class RealData implements Callable<String> { String res = null; @Override public 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(); } } }