java性能优化之三 优雅平滑的结束quarts 任务

线上系统 遇到quarts 任务在定时时间内执行不完

比如10分钟一次的任务执行不完 后面起来的quarts任务线程会阻塞前面的任务

导致任务越来越慢


如果这个任务有循环的入口,比如每次从后台抓300条数据处理,

可以函数开始设置一个时间点

void quartsWork(){

time begin ;

boolean needEnd =false ;

/ 300条数据执行

for(i .. ){

执行300条数据 遍历

...

}

if( 判断是否接近10分钟 如果快到了){

 结束本次任务

needEnd =true ;

break ;

}else{

再取300条执行,

}


}


z这样通过时间判断 是否结束,给下次任务让路


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值