接口 IPromise<T>

所有超级接口:
Future<T>, ICompletionStage<T>, IFuture<T>
所有已知子接口:
IScheduledPromise<V>
所有已知实现类:
Promise, ScheduledPromise, UniPromise, UniScheduledPromise

@ThreadSafe public interface IPromise<T> extends IFuture<T>
作者:
wjybxx date - 2023/11/6
  • 方法详细资料

    • trySetComputing

      default boolean trySetComputing()
      尝试将future置为正在计算状态 只有成功将future从pending状态更新为computing状态时返回true
    • trySetComputing2

      TaskStatus trySetComputing2()
      尝试将future置为正在计算状态 该接口有更好的返回值,不过一般情况下还是推荐trySetComputing()
      返回:
      之前的状态
    • setComputing

      void setComputing()
      将future置为计算中状态,如果future之前不处于pending状态,则抛出IllegalStateException
    • trySetResult

      boolean trySetResult(T result)
      尝试将future置为成功完成状态,如果future已进入完成状态,则返回false
    • setResult

      void setResult(T result)
      将future置为成功完成状态,如果future已进入完成状态,则抛出IllegalStateException
    • trySetException

      boolean trySetException(Throwable cause)
      尝试将future置为失败完成状态,如果future已进入完成状态,则返回false
      参数:
      cause - 如果为CancellationException,则等同于取消
    • setException

      void setException(Throwable cause)
      将future置为失败状态,如果future已进入完成状态,则抛出IllegalStateException
      参数:
      cause - 如果为CancellationException,则等同于取消
    • trySetCancelled

      boolean trySetCancelled(int cancelCode)
      将Future置为已取消状态,如果future已进入完成状态,则返回false
      参数:
      cancelCode - 相关的取消码
    • setCancelled

      void setCancelled(int cancelCode)
      将Future置为已取消状态,如果future已进入完成状态,则抛出IllegalStateException
      参数:
      cancelCode - 相关的取消码
    • tryTransferFrom

      boolean tryTransferFrom(IFuture<? extends T> input)
      将目标future的结果传输到当前Promise 如果目标future已完成,且当前promise尚未完成,则尝试传输结果到promise
      返回:
      当且仅当由目标future使当前promise进入完成状态时返回true。