Java 未来的任务何时完成
将来的任务点击return语句时,Java 未来的任务何时完成,java,concurrency,future,Java,Concurrency,Future,将来的任务点击return语句时,isDone()==true是否视为已完成? 例如: ExecutorService executor = newSingleThreadExecutor(); Future<> result = executor.submit(new Runnable() { @Override public void run() {
isDone()==true
是否视为已完成?
例如:
ExecutorService executor = newSingleThreadExecutor();
Future<> result = executor.submit(new Runnable()
{
@Override
public void run()
{
return;
}
}
ExecutorService executor=newSingleThreadExecutor();
未来结果=executor.submit(new Runnable())
{
@凌驾
公开募捐
{
返回;
}
}
结果在点击
返回时是否被视为已完成?或多或少。javadoc的确切含义不明确,但一般来说,当可调用项返回时,在isDone()
之后不久将为真(或者如果发生异常,则为真).完成未来。get
被视为锁定点a未来的完成
引自
Future表示异步计算的结果。提供了用于检查计算是否完成、等待其完成以及检索计算结果的方法。只有在计算完成时,才能使用方法get检索结果,必要时阻塞,直到计算完成。Ca取消安装通过取消方法执行。提供了其他方法来确定任务是否
换句话说,直到Future
未完成对Future的调用为止。get
将被阻止,因此Future的完成。get
应视为Future
的完成(正常或例外)
p.S.:Future.isDone
只能用于检查状态,而不能作为Future
完成时的指示