@Async源码注释

上方注释

 

  注解使用在方法上,方法将标记为异步执行的候选方法。也可以使用在类上,在这种情况下,类的所有方法都被认为是异步的。但是请注意, @Configuration配置类中声明的方法不支持@Async

       就目标方法签名而言,支持任何参数类型。然而,返回类型被限制为void或Future。在后一种情况下,您可以声明更具体的ListenableFuture或CompletableFuture类型,这允许与异步任务进行更丰富的交互,并允许与进一步的处理步骤立即组合。

  从代理返回的Future句柄将是一个实际的异步Future,可用于跟踪异步方法执行的结果。然而,由于目标方法需要实现相同的签名,它将不得不返回一个仅传递值的临时的Future句柄,例如像spring的AsyncResult或AsyncResult或CompletableFuture来传递。

补充说明:方法签名:方法名和参数列表一起构成方法签名。

value()上方注释

 

  指定异步操作的限定符值。可以用来确定在执行异步操作时要使用的目标执行器,匹配特定executor或TaskExecutor bean定义的限定符值(或bean名称)。

  当在类级别的@Async注释上指定时,表示给定的执行器应该用于类中的所有方法。方法级使用value值总是覆盖在类级设置的任何值。

posted @ 2022-12-01 18:17  JustJavaIt  阅读(38)  评论(0编辑  收藏  举报