@Scheduled默认创建的线程是单线程,任务的执行会受到上一个任务的影响,创建定时任务也比较简单
1 | @Component |
Cron的表达式为 秒(0-59) 分(0~59)时(0~23)日(0~31)的某天,需计算月(0~11)周几( 可填1-7 或 SUN/MON/TUE/WED/THU/FRI/SAT)
“0/5 ?”可以解析成 每5秒执行一次,其他不指定,此时开启application,控制台没隔5秒打印一次
1 | @Component |
1 | @Component |
这个定时任务随着时间的增加不断的增加线程,这肯定会消耗大量的资源,因此在配置多线程的定时任务时,常常需要设置一个线程池来避免资源消耗过多
1 | @EnableAsync |
使用Future来获取Runable的执行结果
1 | @Slf4j |
定义超时时间并释放线程
1 | @Slf4j |
原文:https://www.cnblogs.com/lijianming180/p/12037858.html