在Spring Boot中,您可以使用@Async
注解来标记异步任务方法,并使用@EnableAsync
注解来启用异步任务功能。
下面是一个示例代码:
@EnableAsync
注解,以启用异步任务功能:@SpringBootApplication
@EnableAsync
public class MyApp {
public static void main(String[] args) {
SpringApplication.run(MyApp.class, args);
}
}
@Async
注解标记要异步执行的方法:@Component
public class MyAsyncTask {
@Async
public void doAsyncTask() {
// 异步任务的具体逻辑
// ...
}
}
@Component
public class MyOtherClass {
@Autowired
private MyAsyncTask myAsyncTask;
public void doSomething() {
// 调用异步任务方法
myAsyncTask.doAsyncTask();
// 继续执行其他操作
// ...
}
}
当调用doAsyncTask
方法时,它将在新的线程中异步执行,而不会阻塞主线程。
请注意,为了使异步任务正常工作,您还需要在应用的配置文件中添加以下配置:
spring.task.execution.pool.core-size=5
spring.task.execution.pool.max-size=10
spring.task.execution.pool.queue-capacity=100
这些配置项用于设置线程池的核心线程数、最大线程数和队列容量。您可以根据实际需求进行调整。