Java Timer 代码分析:
- 记住timer只有一个线程在跑, 那就是TimerThread, 在这个对象timer对象生成时,这个线程就产生了,并且在running.
- schedule和scheduleAtFixedRate区别是:(由于等待一个Task完成需要的时间不同)
- schedule: 运行下一个task run时间是在上一个task run的开始运行时间加上period.
- scheduleAtFixedRate:运行下一个task run时间是在上一个task run的应该运行时间加上period.
- cancel :就是gracely的停掉timerthread, 正在运行的task还是在运行。