我是否需要定期调用future.get以检查任务是否已执行?
ExecutorService executor = Executors.newSingleThreadExecutor();
@SuppressWarnings("unchecked")
public void start(final file avo) throws IOException
{
Future future = executor.submit(new Callable(){
@Override
public Object call() throws Exception {
Condee conv = new Condee();
return conv.doChange(file);
});
LOG.debug("Finished the execution serverion");
executor.shutdown();
}
答案 0 :(得分:2)
要检查完成情况,您可以使用future.isDone(),这需要经常检查。
但是如果您使用future.get(),此方法将等待直到完成,然后返回结果。
答案 1 :(得分:1)
在executor.shutdown();
之前添加对此的调用future.get();
此方法仅在完成后返回。
答案 2 :(得分:0)
尝试使用get方法检索值。您将获得结果或将抛出异常。当您致电未来时,以下是四种可能性: