![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 81
@日月草
这个作者很懒,什么都没留下…
展开
-
Java定时任务Timer调度器【一】 源码分析(图文详解版)
就以闹钟的例子开头吧(后续小节皆以闹钟为例,所有源代码只列关键部分)。public class ScheduleDemo { public static void main(String[] args) throws InterruptedException { long delay = 1000; // 一秒后开始执行 long period =...原创 2018-11-23 11:06:16 · 262 阅读 · 0 评论 -
Java定时任务Timer调度器【二】 多线程源码分析(图文版)
上一节通过一个小例子分析了Timer运行过程,牵涉的执行线程虽然只有两个,但实际场景会比上面复杂一些。首先通过一张简单类图(只列出简单的依赖关系)看一下Timer暴露的用户接口。为了演示Timer所暴露的接口,下面举一个极端的例子(每一个接口方法面向单独的执行线程),照样以闹钟为例(源码只列出关键部分,下同)。public class ScheduleDemo { ...原创 2018-11-26 10:39:35 · 231 阅读 · 0 评论 -
Java定时任务Timer调度器【三】 注意事项(任务精确性与内存泄漏)
一、任务精确性通过前两节的分析,大概知道了Timer的运行原理,下面说说使用Timer需要注意的一些事项。下面是Timer简单原理图从上图可以看到,真正运行闹钟的是一个单线程。也就是说队列中的闹钟,只能依次进行串行化的操作,闹钟的定时执行得不到保证。 比如下面的例子(本节所有代码只列出关键部分,下同)。public class ScheduleDemo { pu...原创 2018-11-26 17:14:27 · 1375 阅读 · 0 评论