FutureTask是Future的一種實現方式.ide
private final int count; public Counter(int count) { this.count = count; } public void get() throws InterruptedException { // 假設執行一些耗時的操做 Thread.sleep(3000); System.out.println("counter:" + count); }long start = System.currentTimeMillis(); FutureTask<Counter> f = new FutureTask<Counter>(new Callable<Counter>() { @Override public Counter call() throws Exception { System.out.println("=================="); return new Counter(1000); } }); f.run(); if (f.isDone()) { System.out.println("done.time-consuming:" + (System.currentTimeMillis() - start) + "ms"); f.get().get(); }控制檯:this
================== done.time-consuming:1001ms counter:1000