Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说java定时器的使用(Timer)_继承thread类多线程模拟卖票,希望能够帮助你!!!。
今天就要结束Java中定时器的功能介绍,大家在项目中需要用到哪个方法可以参考下schedule方法的介绍以及使用。
多线程之Timer类的使用(一)
多线程之Timer类的使用(二)
多线程之Timer类的使用(三)——循环执行
多线程之Timer类的使用(四)——清除队列
多线程之Timer类的使用(五)--其他schedule方法
今天来说下schedule和scheduleAtFixedRate设置的时间比当前时间晚的情况,在玩scheduleAtFixedRate方法的时候会出现任务追赶性,会补充执行之前没执行的任务。下面看下两个方法的对比。
执行任务
任务里比较简单,只是输出开始运行的时间。
schedule方法的任务不追赶
schedule方法
从这边的结果可以看到,schedule方法如果设置的时间比当前早的话则第一次运行任务是在启动时,而不管设置的时间和当前时间间隔的任务,全部被取消了。这就是Task任务不追赶的结果。
scheduleAtFixedRate
scheduleAtFixedRate的追赶性
从结果可以看到,设置的执行时间比当前时间早的时候,会出现多次执行任务的情况,之后才按照设置的延时时间来执行。也就是说,在设置的时间和当前的时间的任务被补充执行了~!这就是scheduleAtFixedRate的任务追赶性。
好了,Timer类差不多就这样吧。放了波水。。最近在弄git的,以后可能会把代码放到git上面吧,想测试也可以下载试试。
大家写定时器的时候可以参考下~~
今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
上一篇
已是最后文章
下一篇
已是最新文章