之前在公司的项目中,需要写定时器定时调接口同步数据,因此使用到了Spring定时器,但是一直没有去细想。定时器实现的原理是什么,要是自己实现定时器的话,要怎么做。
我使用的是Spring的@Scheduled注解来实现的定时器。一直用的挺好的。最近突然在想如果项目中没有使用Spring的话,则没法使用这个Spring定时器。而jdk自带的Timer类我好像还没用过呢,它不也是定时器嘛。那Timer实现的定时器和使用Spring的定时器有什么区别?
于是想来学习Spring定时器以及Timer定时器,了解他们的区别。但是Spring定时器现在还没搞懂,倒是对Timer定时器有了一些了解。也知道了Timer定时器中要到的一些知识:队列(小顶堆)、线程的执行、循环体的执行、线程的等待与唤醒。