为了账号安全,请及时绑定邮箱和手机立即绑定

为什么在使用schedule和scheduleAtFixedRate时,控制台结果输出顺序不同

想请问老师一下,在timer缺陷这里,使用schedule和scheduleAtFixedRate时,控制台输出这么大呢?相当于代码的执行顺序都不一样了

http://img1.sycdn.imooc.com//5dd95f910001fb6111380587.jpghttp://img1.sycdn.imooc.com//5dd95faf0001ba3a10970664.jpg

正在回答

2 回答

schedule执行task时,错过了这次task,只会去等待下一次task不会补回来,而scheduleAtFixedRate,却会去补充

0 回复 有任何疑惑可以回复我~

Timer缺陷讲的就是一个Timer永远只有一个定时任务线程,无论他执行多少个timerTask。main函数所在线程执行完毕,那么只存在定时任务线程,他会线性的去执行两个timertask。由于你这里设置的执行时间相同,导致两个task抢线程,所以谁抢到了就执行谁的。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么在使用schedule和scheduleAtFixedRate时,控制台结果输出顺序不同

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信