20230618 java.util.concurrent.CompletableFuture

发布时间 2023-08-22 17:42:50作者: 流星<。)#)))≦

介绍

  • java.util.concurrent.CompletableFuture
  • public class CompletableFuture<T> implements Future<T>, CompletionStage<T>

API

static

  • supplyAsync
    • <U> CompletableFuture<U> supplyAsync(Supplier<U> supplier)
    • <U> CompletableFuture<U> supplyAsync(Supplier<U> supplier, Executor executor)
  • runAsync
    • CompletableFuture<Void> runAsync(Runnable runnable)
    • CompletableFuture<Void> runAsync(Runnable runnable, Executor executor)
  • completedFuture
    • 返回已完成的 CompletableFuture
  • delayedExecutor
  • completedStage
  • failedFuture
  • failedStage

public

  • join

    • 阻塞并等待当前任务完成
  • getNow

    • T getNow(T valueIfAbsent)
    • 如果完成则返回结果值(或抛出任何遇到的异常),否则返回给定的 valueIfAbsent
  • complete

    • 如果尚未完成,则立刻完成并设置返回值
  • completeExceptionally

    • 如果尚未完成,则立刻完成并抛出异常
  • allOf

    • 所有给定的 future 都完成后完成
  • anyOf

    • 任意给定的 future 完成后则完成
  • isCompletedExceptionally

    • 如果此 CompletableFuture 以任何方式异常完成,则返回true
  • obtrudeValue

    • 强制设置 future 的结果
  • obtrudeException

    • 强制设置抛出的异常
  • getNumberOfDependents

    • 返回其完成正在等待此 CompletableFuture 完成的 CompletableFuture 的估​​计数量
  • newIncompleteFuture

    • 返回一个新的不完整的 CompletableFuture
    • 子类通常应该覆盖此方法
  • defaultExecutor

    • 默认执行器
  • copy

    • 返回新的 CompletableFuture
    • 包含异常处理器和执行器等“额外”信息
  • minimalCompletionStage

    • 返回新的 CompletionStage
    • 不包含异常处理器和执行器等“额外”信息
  • completeAsync

  • orTimeout

    • 如果超时,生成一个 TimeoutException
  • completeOnTimeout

    • 如果超时,生成给定值作为结果