Class AsyncKit

java.lang.Object
org.miaixz.bus.core.xyz.AsyncKit

public class AsyncKit extends Object
CompletableFuture异步工具类 CompletableFuture 是 Future 的改进,可以通过传入回调对象,在任务完成后调用之
Since:
Java 17+
Author:
Kimi Liu
  • Constructor Details

    • AsyncKit

      public AsyncKit()
  • Method Details

    • waitAll

      public static void waitAll(CompletableFuture<?>... tasks)
      等待所有任务执行完毕,包裹了异常
      Parameters:
      tasks - 并行任务
      Throws:
      UndeclaredThrowableException - 未受检异常
    • waitAny

      public static <T> T waitAny(CompletableFuture<?>... tasks)
      等待任意一个任务执行完毕,包裹了异常
      Type Parameters:
      T - 任务返回值类型
      Parameters:
      tasks - 并行任务
      Returns:
      执行结束的任务返回值
      Throws:
      UndeclaredThrowableException - 未受检异常
    • get

      public static <T> T get(CompletableFuture<T> task)
      获取异步任务结果,包裹了异常
      Type Parameters:
      T - 任务返回值类型
      Parameters:
      task - 异步任务
      Returns:
      任务返回值
      Throws:
      RuntimeException - 未受检异常
    • allOfGet

      public static <T> List<T> allOfGet(List<CompletableFuture<T>> tasks)
      获取所有任务的返回值
      Type Parameters:
      T - 任务返回值类型
      Parameters:
      tasks - 任务集合
      Returns:
      任务结果集合
    • allOfGet

      @SafeVarargs public static <T> List<T> allOfGet(CompletableFuture<T>... tasks)
      获取所有任务的返回值,重载方法
      Type Parameters:
      T - 任务返回值类型
      Parameters:
      tasks - 任务集合
      Returns:
      任务结果集合
    • allOfGet

      public static <T> List<T> allOfGet(CompletableFuture<T>[] tasks, Function<Exception,T> eHandler)
      获取所有任务的返回值,可以为异常任务添加异常处理方法
      Type Parameters:
      T - 任务内返回值的类型
      Parameters:
      tasks - 任务集合
      eHandler - 异常处理方法
      Returns:
      任务结果集合
    • allOfGet

      public static <T> List<T> allOfGet(List<CompletableFuture<T>> tasks, Function<Exception,T> eHandler)
      获取所有任务的返回值,可以为异常任务添加异常处理方法,重载方法
      Type Parameters:
      T - 任务返回值类型
      Parameters:
      tasks - 任务集合
      eHandler - 异常处理方法
      Returns:
      任务结果集合
    • parallelAllOfGet

      @SafeVarargs public static <T> List<T> parallelAllOfGet(CompletableFuture<T>... tasks)
      获取所有任务的返回值,并行执行,重载方法
      Type Parameters:
      T - 任务返回值类型
      Parameters:
      tasks - 任务集合
      Returns:
      任务结果集合
    • parallelAllOfGet

      public static <T> List<T> parallelAllOfGet(List<CompletableFuture<T>> tasks)
      获取所有任务的返回值,并行执行
      Type Parameters:
      T - 任务返回值类型
      Parameters:
      tasks - 任务集合
      Returns:
      任务结果集合
    • parallelAllOfGet

      public static <T> List<T> parallelAllOfGet(CompletableFuture<T>[] tasks, Function<Exception,T> eHandler)
      获取所有任务的返回值,并行执行,可以为异常任务添加异常处理方法
      Type Parameters:
      T - 任务返回值类型
      Parameters:
      tasks - 任务集合
      eHandler - 异常处理方法
      Returns:
      任务结果集合
    • parallelAllOfGet

      public static <T> List<T> parallelAllOfGet(List<CompletableFuture<T>> tasks, Function<Exception,T> eHandler)
      获取所有任务的返回值,并行执行,可以为异常任务添加异常处理方法,重载方法
      Type Parameters:
      T - 任务返回值类型
      Parameters:
      tasks - 任务集合
      eHandler - 异常处理方法
      Returns:
      任务结果集合