Future
Future 接口位于java.util.concurrent包下,是Java 1.5中引入的接口。
Future主要用来对具体的Runnable或Callable任务 进行取消任务
、判断任务是否完成
、获取任务执行结果
。
当你提交一个Callable对象给线程池时,将得到一个Future对象,并且它和你传入的Callable示例有相同泛型。
Future 接口中的5个方法:
public interface Future<V> {
// 用来取消任务
// 参数mayInterruptIfRunning表示是否允许取消正在执行却没有执行完毕的任务。
boolean cancel(boolean mayInterruptIfRunning);
// 表示任务是否被取消成功
boolean isCancelled();
// 表示任务是否已经完成
boolean isDone();
// 用来获取执行结果,这个方法会阻塞,一直等到任务执行完毕才返回;
V get()
// 用来获取执行结果,如果在指定时间内,还没获取到结果,会抛出TimeoutException异常。
V get(long timeout, TimeUnit unit)
}