方式一:main 方法 开启 @EnableAsync,方法上加 @Async
总结
1 使用了@Async的方法,会被当成是一个子线程,会在主线程执行完了之后执行,
可以看到 controller 先执行完成然后返回状态,接着 方法才开始执行。
2 同一个类中,一个方法调用另外一个有@Async的方法,注解是不会生效的!
方式二:线程成开线程执行
@Autowired private ThreadPoolTaskScheduler threadPoolTaskScheduler;
threadPoolTaskScheduler.execute(new Runnable() { @Override public void run() { log.info("Runnable start"); log.info("Runnable end"); } });