java Timer 定时任务

schedule的四种用法
schedule(task,time)
在时间等于或者超过time的时候,执行并且执行一次task
schedule(task,time,period)
time 首次执行任务的时间
period 执行一次task的时间间隔
schedule(task,delay)
等待delay毫秒之后,执行并且执行一次task
scheduleAtFixedRate(task,time,delay)
区别在于如果时间设置为当前时间之前,比如:当前时间0点0分06秒,2秒钟执行一次,执行时间0点0分00秒,scheduleAtFixedRate会赶进度,执行三次,
scheduleAtFixedRate(task,delay,period)
相对于任务开始时间,不是任务完成时间,存在并发性
task下的cancel() 取消任务
scheduleExecutionTime()获得任务执行时间
timer下的cancel()取消所有任务
purge()移除所有已经取消的任务,返回值是取消的任务数
timer缺陷
管理并发任务的缺陷:Timer有且仅有一个线程去执行定时任务,如果存在多个任务,且任务时间过长,会导致执行结果与预期不符。
当抛出任务异常时的缺陷:如果抛出任务运行时异常,会停止所有任务的执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值