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();
}
线程池+返回值Future
猜你喜欢
转载自my.oschina.net/u/2605948/blog/1787831
今日推荐
周排行