Java期货 - 急切执行?

时间:2015-07-28 05:12:29

标签: future executorservice

我正在阅读有关Futures作为异步执行任务的简洁方法,并且一度回想起它说任务不会被执行,除非您从Future读取返回值(试图复制)懒惰的评价或许)。我觉得这不准确。

有人可以澄清这是否真的存在?

如果您想要执行某些异步逻辑而不想读取其返回值,该怎么办? (例如我在我的应用程序中写入数据库)

1 个答案:

答案 0 :(得分:1)

  

Future表示异步计算的结果。提供方法来检查计算是否完成,等待其完成,以及检索计算结果。

Future是等待结果。未来的对象引用了后来的可用结果。即时呼叫即时返回,允许您继续使用代码而不是忙于等待答案。

如果你只想执行异步而不是等待结果,你可以使用Threads,或者你的情况下可能使用Executors(或ExecutorServices)。

Executor

  

执行提交的Runnable任务的对象。此接口提供了一种将任务提交与每个任务的运行机制分离的方法,包括线程使用,调度等的详细信息。

ExecutorService扩展了Executor以实现某些控制功能。