@Scheduled执行阻塞解决办法
程序员文章站
2022-05-04 08:48:51
问题还原:写了多了定时任务,但是部分任务一直不执行,想起来多个函数上使用了@Scheduled,该定时任务默认使用单线程,从而导致了线程阻塞。解决办法: 方案一:使用@Async注解实现异步任务 @Async @Scheduled(cron="0 0/10 * * * ? ") //每10分钟执行一次注意:Application主类要开启 @EnableAsync 注解 方案二:配置线程池import java.util.c......
问题还原:
写了多了定时任务,但是部分任务一直不执行, 想起来多个函数上使用了@Scheduled,该定时任务默认使用单线程,从而导致了线程阻塞。
解决办法:
方案一:使用@Async注解实现异步任务
@Async
@Scheduled(cron="0 0/10 * * * ? ") //每10分钟执行一次
注意:Application主类要开启 @EnableAsync 注解
方案二:配置线程池
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.SchedulingConfigurer;
import org.springframework.scheduling.config.ScheduledTaskRegistrar;
import java.util.concurrent.Executors;
@Configuration
public class ScheduledConfig implements SchedulingConfigurer {
@Override
public void configureTasks(ScheduledTaskRegistrar scheduledTaskRegistrar) {
scheduledTaskRegistrar.setScheduler(Executors.newScheduledThreadPool(50));
}
}
本文地址:https://blog.csdn.net/weixin_38959210/article/details/107493675
上一篇: 杨桃怎样生长?来说说杨桃的生长过程
下一篇: 反射机制原理
推荐阅读
-
c#操作access,update语句不执行的解决办法
-
LRecyclerView侧滑iOS阻塞效果不完整的解决办法
-
windows下写的shell脚本在linux执行出错的解决办法
-
shell脚本中执行时提示“没有那个文件或目录”的解决办法
-
PHP中Session引起的脚本阻塞问题解决办法
-
sql server代理中作业执行SSIS包失败的解决办法
-
移动硬盘无法访问提示:无法访问I:\ 执行页内操作时错误的解决办法
-
JS定时检测任务任务完成后执行下一步的解决办法
-
详解jQuery同步Ajax带来的UI线程阻塞问题及解决办法
-
执行python manage.py makemigrations命令时报错问题及解决办法