类 ReadOnlyFuture<T>

java.lang.Object
cn.wjybxx.concurrent.ForwardFuture<T>
cn.wjybxx.concurrent.ReadOnlyFuture<T>
所有已实现的接口:
ICompletionStage<T>, IFuture<T>, Future<T>

public final class ReadOnlyFuture<T> extends ForwardFuture<T>
IPromise提供只读视图
作者:
wjybxx date - 2024/1/9
  • 构造器详细资料

    • ReadOnlyFuture

      public ReadOnlyFuture(IFuture<T> promise)
      参数:
      promise - 使用future类型可避免更具体的依赖
  • 方法详细资料

    • asReadonly

      public IFuture<T> asReadonly()
      从接口复制的说明: IFuture
      返回只读的Future视图, 如果Future是一个提供了写接口的Promise,则返回一个只读的Future视图,返回的实例会在当前Promise进入完成状态时进入完成状态。

      1. 一般情况下我们通过接口隔离即可达到读写分离目的,这可以节省开销;在大规模链式调用的情况下,Promise继承Future很有效。 2. 但如果觉得返回Promise实例给任务的发起者不够安全,可创建Promise的只读视图返回给用户 3. 这里不要求返回的必须是同一个实例,每次都可以创建一个新的实例。

      指定者:
      asReadonly 在接口中 IFuture<T>
      覆盖:
      asReadonly 在类中 ForwardFuture<T>
    • cancel

      public boolean cancel(boolean mayInterruptIfRunning)
      从接口复制的说明: IFuture
      指定者:
      cancel 在接口中 Future<T>
      指定者:
      cancel 在接口中 IFuture<T>
      覆盖:
      cancel 在类中 ForwardFuture<T>
      参数:
      mayInterruptIfRunning - 在链式调用下没有意义