目录
Future
Future 接口在JAVA5 中被引入,设计初衷式对将来某个时刻会发生的结果进行建模。它建模了一中异步计算,返回一个执行运算结果的引用,当运算结束后,这个引用被返回给调用方。在Future 中触发那些潜在耗时的操作把调用线程解放出来,让它能继续执行其他有价值的工作,不再需要呆呆等等待耗时的操作完成。
下面代码展示了JAVA 8 之前使用Future 的一个例子
ExecutorService executorService = Executors.newCachedThreadPool();
Future<Double> future = executorService.submit(new Callable<Double>() {
public Double call() {
return doSomeLongComputation();
}
});
doSomethingElse(); //异步操作计算时可以作一些其他事情
try{
Double aDouble = future.get(1, TimeUnit.SECONDS);
System.out.println(aDouble);
}catch (ExecutionException ee){
//计算抛出一个异常
}catch (InterruptedException ie){
//当前线程等待被中断
}catch (TimeoutException te){
//在Future 对象完成任务前已超时
}
使用Future 以异步方式执行长时间的操作:
标签:异步,future,编程,Future,线程,catch,executorService,JAVA8 From: https://www.cnblogs.com/czzz/p/18004424