Class ScheduledAsyncExecutor

java.lang.Object
com.luna.common.thread.ScheduledAsyncExecutor

public class ScheduledAsyncExecutor extends Object
Author:
luna
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static Future
    async(Runnable method)
    无入参,无返回值的异步执行方法 , void noStaticFoo()
    static <P1, P2, R> Future<R>
    async(java.util.function.BiFunction<P1,P2,R> method, P1 param1, P2 param2)
    两个入参,有返回值的异步执行方法 , Entity noStaticFoo(Long id)
    static <P> Future
    async(java.util.function.Consumer<P> method, P param)
    有单个入参,无返回值的异步执行方法,如 void noStaticFoo(Long id)
    static void
    main(String[] args)
     
    static <P> void
    scheduleWithFixedDelay(Runnable runnable, long initialDelay, long delay, TimeUnit unit)
     
    static <P> void
    scheduleWithFixedDelay(java.util.function.Consumer<P> method, P param1, long initialDelay, long delay, TimeUnit unit)
    延迟执行
    static <T> Future<T>
    submit(Runnable task, T result)
     
    static <P1, P2> Future
    submit(java.util.function.BiConsumer<P1,P2> method, P1 param1, P2 param2)
    有两个参数但是无返回值的异步执行方法, 如void noStaticFoo(Long id,Entity entity)
    static <P, R> Future<R>
    submit(java.util.function.Function<P,R> method, P param)
    单个入参,有返回值的异步执行方法 , Entity noStaticFoo(Long id)
    static <R> Future<R>
    submit(java.util.function.Supplier<R> method)
    无参数有返回值的异步执行方法 , Entity noStaticFoo()

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • ScheduledAsyncExecutor

      public ScheduledAsyncExecutor()
  • Method Details

    • async

      public static Future async(Runnable method)
      无入参,无返回值的异步执行方法 , void noStaticFoo()
      Parameters:
      method - 要执行的方法,如 user::noStaticFoo;
      Returns:
      Future对象,用以判断是否执行结束
    • async

      public static <P> Future async(java.util.function.Consumer<P> method, P param)
      有单个入参,无返回值的异步执行方法,如 void noStaticFoo(Long id)
      Type Parameters:
      P - 入参类型,如Long
      Parameters:
      method - 要执行的方法,如, user::noStaticFoo
      param - 方法执行的入参,如id
      Returns:
      Future对象,用以判断是否执行结束
    • submit

      public static <P1, P2> Future submit(java.util.function.BiConsumer<P1,P2> method, P1 param1, P2 param2)
      有两个参数但是无返回值的异步执行方法, 如void noStaticFoo(Long id,Entity entity)
      Type Parameters:
      P1 - 第一个入参类型
      P2 - 第二个入参类型
      Parameters:
      method - 要执行的方法,如 , user::noStaticFoo
      param1 - 第一个入参值,如id
      param2 - 二个入参值,如entity
      Returns:
      Future对象,用以判断是否执行结束
    • submit

      public static <R> Future<R> submit(java.util.function.Supplier<R> method)
      无参数有返回值的异步执行方法 , Entity noStaticFoo()
      Type Parameters:
      R - 返回值类型,如 Entity
      Parameters:
      method - 要执行的方法,如 , user::noStaticFoo
      Returns:
      Future对象,用以判断是否执行结束、获取返回结果
    • submit

      public static <T> Future<T> submit(Runnable task, T result)
    • submit

      public static <P, R> Future<R> submit(java.util.function.Function<P,R> method, P param)
      单个入参,有返回值的异步执行方法 , Entity noStaticFoo(Long id)
      Type Parameters:
      P - 入参类型,如Long
      R - 返回值类型,如 Entity
      Parameters:
      method - 要执行的方法,如 , user::noStaticFoo
      param - 入参值,如 id
      Returns:
      Future对象,用以判断是否执行结束、获取返回结果
    • async

      public static <P1, P2, R> Future<R> async(java.util.function.BiFunction<P1,P2,R> method, P1 param1, P2 param2)
      两个入参,有返回值的异步执行方法 , Entity noStaticFoo(Long id)
      Type Parameters:
      P1 - 第一个入参类型
      P2 - 第二个入参类型
      R - 返回值类型,如 Entity
      Parameters:
      method - 要执行的方法,如 , user::noStaticFoo
      param1 - 第一个入参值,如id
      param2 - 二个入参值,如entity
      Returns:
      Future对象,用以判断是否执行结束、获取返回结果
    • scheduleWithFixedDelay

      public static <P> void scheduleWithFixedDelay(java.util.function.Consumer<P> method, P param1, long initialDelay, long delay, TimeUnit unit)
      延迟执行
      Parameters:
      method -
      initialDelay -
      delay -
      unit -
    • scheduleWithFixedDelay

      public static <P> void scheduleWithFixedDelay(Runnable runnable, long initialDelay, long delay, TimeUnit unit)
    • main

      public static void main(String[] args)