专业的JAVA编程教程与资源

网站首页 > java教程 正文

SpringBoot第二十三篇:异步方法(springboot 异步方法)

temp10 2024-10-21 12:22:47 java教程 13 ℃ 0 评论

这篇文章主要介绍在springboot 使用异步方法,去请求github api.

创建工程

SpringBoot第二十三篇:异步方法(springboot 异步方法)

在pom文件引入相关依赖:

创建一个接收数据的实体:

创建一个请求的 githib的service:

通过,RestTemplate去请求,另外加上类@Async 表明是一个异步任务。

开启异步任务:

通过@EnableAsync开启异步任务;并且配置AsyncConfigurerSupport,比如最大的线程池为2.

测试

测试代码如下:

启动程序,控制台会打印:

2017-04-30 13:11:10.351 INFO 1511 —- [ GithubLookup-1] com.forezp.service.GitHubLookupService : Looking up PivotalSoftware2017-04-30 13:11:10.351 INFO 1511 —- [ GithubLookup-2] com.forezp.service.GitHubLookupService : Looking up CloudFoundry2017-04-30 13:11:13.144 INFO 1511 —- [ GithubLookup-2] com.forezp.service.GitHubLookupService : Looking up Spring-Projects

耗时:3908

分析:可以卡的前面2个方法分别在GithubLookup-1 和GithubLookup-2执行,第三个在GithubLookup-2执行,注意因为在配置线程池的时候最大线程为2.如果你把线程池的个数为3的时候,耗时减少。

如果去掉@Async,你会发现,执行这三个方法都在main线程中执行。耗时总结,如下:

2017-04-30 13:13:00.934 INFO 1527 —- [ main] com.forezp.service.GitHubLookupService : Looking up PivotalSoftware2017-04-30 13:13:03.571 INFO 1527 —- [ main] com.forezp.service.GitHubLookupService : Looking up CloudFoundry2017-04-30 13:13:04.865 INFO 1527 —- [ main] com.forezp.service.GitHubLookupService : Looking up Spring-Projects

耗时:5261

通过这一个小的栗子,你应该对异步任务有了一定的了解。


原文地址:https://dwz.cn/mpK3ODm7

作者:方志朋

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表