在Spring Boot中使用多线程,可以通过以下两种常见方式实现:
- 使用 - @Async注解:- 在Spring Boot中,可以通过 - @Async注解来创建异步方法,Spring会将这些方法的执行放在后台线程中。- 示例代码: - @Service public class AsyncService { @Async public void executeAsyncTask() { System.out.println("执行异步任务:" + Thread.currentThread().getName()); } } @RestController public class AsyncController { @Autowired private AsyncService asyncService; @GetMapping("/async") public String asyncCall() { asyncService.executeAsyncTask(); return "Async task submitted"; } }
- 使用 - ThreadPoolTaskExecutor:- 通过定义一个 - ThreadPoolTaskExecutor的Bean,可以创建一个线程池,然后在需要多线程执行任务的地方使用这个线程池。- 示例代码: - @Configuration @EnableAsync public class AsyncConfig implements AsyncConfigurer { @Override @Bean public Executor getAsyncExecutor() { ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); executor.setCorePoolSize(5); executor.setMaxPoolSize(10); executor.setQueueCapacity(25); executor.initialize(); return executor; } } @Service public class TaskExecutorService { @Autowired private Executor executor; public void executeTask() { executor.execute(() -> { System.out.println("执行线程池任务:" + Thread.currentThread().getName()); }); } }
在实际使用时,根据需要选择合适的方式来创建和管理多线程。