脚本宝典收集整理的这篇文章主要介绍了

Java 多线程编程核心技术5—定时器Timer

脚本宝典小编觉得挺不错的,现在分享给大家,也给大家做个参考,希望能帮助你少写一行代码,多一份安全和惬意。

  1. Timer类的主要作用就是设置计划任务,但封装任务的类却是TimerTask类,执行计划任务的代码要放入TimerTask的子类中,因为TimerTask是一个抽象类。
  2. 创建1个Timer就是启动一个新的线程,那么这个新启动的线程并不是守护线程,一直在运行。
  3. 如果执行任务的时间早于当前时间,则立即执行task任务。
  4. TimerTask是以队列的方式一个一个被顺序性地执行,所以执行的时间有可能和预期的时间不一致,因为的任务有可能消耗的时间比较长,则后面的任务运行的时间也被延后。
  5. 在使用一个Timer情况下,Task是放入队列的,得一个一个运行。
  6. TimerTask类中的cancel()方法的作用是将自身从任务队列中进行清除。其他任务不受影响。
  7. Timer类中的cancel()方法作用是将任务队列中全部的任务进行清空。
  8. 全部任务都被清除,并且进程被销毁。
  9. Timer类中的cancel()方法有时并不一定会停止计划任务,而是正常执行。原因是Timer类中的cancel()方法有时并没有抢到queue锁,则让TimerTask类中的任务正常执行。
  10. 方法schedule和方法scheduleAtFixedRate都会按顺序执行,所以不要考虑非线程安全的情况,主要区别在于有没有追赶特性。

总结

以上是脚本宝典为你收集整理的

Java 多线程编程核心技术5—定时器Timer

全部内容,希望文章能够帮你解决

Java 多线程编程核心技术5—定时器Timer

所遇到的程序开发问题,欢迎加入QQ群277859234一起讨论学习。如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典网站推荐给程序员好友。 本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。

80%的人都看过