java线程阻塞 import_@Scheduled执行阻塞解决办法

3a0524eadb13fbf41d186f9b2a645cb7.png

问题还原:

写了多了定时任务,但是部分任务一直不执行, 想起来多个函数上使用了@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

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值