quartz 的有状态的JOB始终只有一个任务在运行,不会出现同一个JOB并发的情况,quartz 执行一个JOB时,会判断该JOB是不是有状态的,如果是有状态的,则把给JOB从存储JOB的列表中移除,保存到另一个集合里,当然要修改该JOB的状态,等到该JOB运行完成时,再把该JOB从集合里删除,重新加入到JOB列表中,这样的话,quartz 就不怕由于这个JOB运行太长的时间,而导致下次运行时间到达时又触发了该JOB,因为该JOB已经不在JOB列表中了,找不到触发器对应的JOB,只能返回空的JOB ,就直接返回了。不会出现任何的等待挂起问题。