任务调度场景的核心分为以时间为关注点的调度和资源上的调度。
以时间为关注点的调度如:微博禁言一周、冻结用户账号,在一周之内不能登录等
资源上的调度如:每执行一个任务都要开一个线程,无限制的使用必然耗尽亏空,大多数系统都要对资源使用进行控制——首先服务线程的最大数目必须限制,其次可以考虑使用线程池以便共享服务的线程资源,降低频繁创建、销毁线程的消耗。
任务调度本身涉及到多线程并发、运行时间规则制定及解析、运行现场保持与恢复、线程池维护等诸多方面的工作。
Quartz的核心主要包括三部分:任务(Job)、触发器(Trigger)和调度器(Scheduler),其中Scheduler是整个系统框架的心脏和灵魂。
1、任务Job