Future就是对于具体的Runnable或者Callable任务的执行结果进行取消、查询是否完成、获取结果。必要时可以通过get方法获取执行结果,该方法会阻塞直到任务返回结果。
FutureTask<T> t= null; //创建一个 Future
t = bingfa();//添加对象
public FutureTask<T> bingfa() throws Exception{
Callabletest callable = new Callabletest();
FutureTask<T> future = new FutureTask<T>(callable);
return future;
}
new Thread(t).start(); //执行这个Future
T= t.get();//取到这个Future的结果
FutureTask 的执行要和Callable 搭配使用:
public class Callabletest implements Callable<T>{
@Override
public T call() throws Exception {
// 在这个地方写执行的方法
return T;
}
}