ExecutorService executor = Executors.newSingleThreadExecutor(); // 使用Callable接口做为构造参数 FutureTask<String> future = new FutureTask<String>(new Callable<String>() { public String call() throws InterruptedException { // 真正的任务在这里执行,这里的返回值类型为String,能够为任意类型 return "call 返回数值!!"; } }); executor.execute(future); // 在这里能够作别的任何事情 try { String result = future.get(2000, TimeUnit.MILLISECONDS); System.out.println(result); } catch (InterruptedException e) { future.cancel(true); } catch (ExecutionException e) { future.cancel(true); } catch (TimeoutException e) { future.cancel(true); } finally { executor.shutdown(); }