在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
這些配置項用于設置線程池的核心線程數、最大線程數和隊列容量。您可以根據實際需求進行調整。