@async 线程执行时间长_Spring Boot使用@Async实现异步调用:使用Future以及定义超时...

本文介绍了如何在Spring Boot中使用@Async注解定义异步任务,并通过Future进行结果获取。同时讲解了如何设置超时控制,避免线程长时间阻塞。文中给出了具体代码示例,包括异步任务定义和测试用例。
摘要由CSDN通过智能技术生成

之前连续写了几篇关于使用 @Async实现异步调用的内容,也得到不少童鞋的反馈,其中问题比较多的就是关于返回 Future的使用方法以及对异步执行的超时控制,所以这篇就来一起讲讲这两个问题的处理。

1230983b4b5b9c7c7e37c842142bea94.png

如果您对于 @Async注解的使用还不了解的话,可以看看之前的文章,具体如下:

  • 使用@Async实现异步调用:自定义线程池
  • 使用@Async实现异步调用:资源优雅关闭

定义异步任务

首先,我们先使用 @Async注解来定义一个异步任务,这个方法返回 Future类型,具体如下:

@Slf4j

@Component

public class Task {

public static Random random = new Random();

@Async("taskExecutor")

public Future run() throws Exception {

long sleep = random.nextInt(10000);

log.info("开始任务,需耗时:" + sleep + "毫秒");

Threa

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值