springboot整合线程池的例子
时间: 2023-09-09 18:11:59 浏览: 101
以下是一个使用SpringBoot整合线程池的例子:
1. 在pom.xml文件中添加以下依赖:
```
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-task</artifactId>
</dependency>
```
2. 在application.properties文件中添加以下配置:
```
#线程池配置
#核心线程数
spring.task.execution.pool.core-size=10
#最大线程数
spring.task.execution.pool.max-size=20
#队列容量
spring.task.execution.pool.queue-capacity=2000
#线程名称前缀
spring.task.execution.pool.thread-name-prefix=my-thread-
```
3. 创建一个异步任务类,使用@Async注解表明该方法是一个异步方法,并且使用线程池执行。
```
@Service
public class AsyncTaskService {
@Async
public void executeAsyncTask(Integer i) {
System.out.println(Thread.currentThread().getName() + " 执行异步任务:" + i);
}
@Async
public void executeAsyncTaskPlus(Integer i) {
System.out.println(Thread.currentThread().getName() + " 执行异步任务+1:" + (i + 1));
}
}
```
4. 在Controller中调用异步任务方法。
```
@RestController
public class AsyncController {
@Autowired
private AsyncTaskService asyncTaskService;
@GetMapping("/async")
public String asyncTask() {
for (int i = 0; i < 10; i++) {
asyncTaskService.executeAsyncTask(i);
asyncTaskService.executeAsyncTaskPlus(i);
}
return "success";
}
}
```
通过以上步骤,即可完成SpringBoot整合线程池的例子。
阅读全文