ListenableFuture.immediateFuture(x)是反模式吗?

问题描述 投票:0回答:1

https://github.com/google/guava/wiki/ListenableFutureExplained中似乎没有涵盖此>

但是很常见的模式

@Override
public ListenableFuture<Void> loadResources() {
  syncMethod();

  return Futures.immediateFuture(null);
}

在此方面是否有指导?在使用ListenableFuture调用或实现API时,我们可以放心地做出一些假设,这会影响到许多使用ListenableFutures的代码用法。

<<

我的2c
对我来说似乎是一种反模式。

[它留下了两个用于错误处理的代码路径,调用代码中的必需try {} catch {}以及ListenableFuture管道中的异常

    它使syncMethod()的执行时间与调用者是否可以在同步中采用该方法有关。对于高吞吐量代码,即使是将日志语句写入磁盘或使用InetAddress api也是阻塞操作。
  • [它打破了期货的某种功能范式,例如参照透明性。
  • guava
    1个回答
    0
    投票
    © www.soinside.com 2019 - 2024. All rights reserved.