未来的get(),如果没有完成,它会阻止调用吗?

时间:2014-12-01 15:14:35

标签: java jdbc future

我在DAO类中有一个函数,它在数据库上运行存储函数。如果先前对此操作的调用已完成,我只希望此操作再次运行。所以我的函数返回一个Future对象。

public Future<String> storedFunctionResultFuture()
{
   // calls the stored function
   return new AsyncResult<String>(result);
}

现在,如果我调用storedFunctionResultFuture().get(),如果存储的函数仍处于运行/未完成的过程中,get()方法是否会阻止调用?

1 个答案:

答案 0 :(得分:2)

来自documentation

  

如果需要等待计算完成,然后检索其结果。

所以,简短的回答是 - 是的。