Advertisement

Guava之ListenableFuture的实现

阅读量:

传统JDK中的Future采用异步机制来获取计算结果:在多线程处理过程中,结果可能尚未完成,也可能已经返回,而Future作为正在运行的多线程操作的引用句柄,能够确保服务执行结束后返回一个Result。

ListenableFuture允许用户注册回调方法(callbacks),在多线程运算完成后触发调用,或者在运算结束后立即执行。这一简单的改进显著增强了功能支持,使得更多操作得以实现,而JDK concurrent中的Future并不具备此类能力。

ListenableFuture中的基础方法为addListener(Runnable, Executor),该方法会在多线程运算结束后,将指定的Runnable参数传入的对象交由指定的Executor进行执行。

添加回调(Callbacks)

多数用户倾向于采用 [Futures.addCallback(ListenableF

全部评论 (0)

还没有任何评论哟~