Java 就能实现定时任务的三种方法
|
实现方式比较简单,可以指定首次执行的延迟时间、首次执行的具体日期时间,以及执行频率,能满足日常需要。 另外,需要注意的是,Timer 是线程安全的,因为背后是单线程在执行所有任务。 Timer 也会有一些缺陷:
所以,如果在使用 Timer 的过程中要注意这些缺陷,虽然可以用,但不推荐。 3、ScheduledExecutorService 因 Timer 有一些缺陷,所以不太建议使用 Timer,推荐使用 ScheduledExecutorService
另外,可以看出,任务是支持 Runnable 和 Callable 调度的。 实现代码如下:一个按固定频率调度的任务,创建了 10 个核心线程数,首次执行延迟 2 秒,后续每 3 秒执行一次。 这种方式简单、好用,避免了使用 Timer 带来的各种问题,推荐使用这种实现方式。 总结 好了,本文栈长分享了 3 种 Java 实现定时任务的方式,也相对简单,但执行频率时间设置都太简单,只适合简单的业务,不适合实际复杂业务的需求,实际业务要考虑分布式、故障转移恢复等远要复杂的多。
本文仅给大家一个参考吧,在不用框架的前提下也能实现定时任务,在小而美的场景,还是很香的。 (编辑:信阳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |

