909422229_三种常用定时器之Timer定时器

时间:2021-05-24 02:15:10

使一小步,我都愿意与你分享。有问题可以在联系方式专栏进行联系我,点击即可跟我交流。用到的软件都可以进行分享。 这次由于CSDN无法上传2M以上的,所以有所缺少。完整版本可以联系我。

 一、JDK内置Timer定时器:

是JDK自带的一种定时器,用JDK上的介绍是:

提供对计时器 MBean 的实现。计时器 MBean 将在指定的时间发出警告,以唤醒所有注册的侦听器来接收计时器通知。

此类管理一个过期的计时器通知列表。这是一种允许用户根据需要任意添加/移除通知的方法。当计时器发出计时器通知并过时后,会将该通知自动从计时器通知列表中移除。
可以将其他计时器通知添加到常规重复发送的通知中。  

注:

  1. 当发送计时器通知时,计时器将更新通知序列号,而不考虑通知类型。
  2. 计时器服务依赖于加载 Timer 类的主机的系统日期。如果侦听器主机具有不同的系统日期,则侦听器可能会不合时宜地接收到通知。为了避免此类问题,要同步所有需要计时的主机的系统日期。
  3. 定期通知的默认行为是固定延迟执行,这一点已在 Timer 中指定。为了使用固定速率执行,要使用重载的 addNotification(String, String, Object, Date, long, long, boolean) 方法。
  4. 可能会在同一线程中执行所有这些通知侦听器。因此,必须快速执行以避免阻止其他侦听器或者打乱固定延迟执行的规律。请参见 NotificationBroadcasterSupport。  
二、下面是本人结合spring  + timer的一个DEMO:

中间也查询了一些资料,得到的一些关于timer的利弊问题。

909422229_三种常用定时器之Timer定时器