ScheduleExecutorService接口int poolSize = 500;//定义线程调度池
ScheduledExecutorService execSrv = Executors.newScheduledThreadPool(poolSize);
//启用线程调度
ChildThread childThread = new AlarmChildThread(1, ruleList);
int period = 30;//调用周期
long initialDelay = 60;//延迟时间
execSrv.scheduleAtFixedRate(childThread, initialDelay, period * 60000, TimeUnit.MILLISECONDS);
scheduleAtFixedRate有两个时间参数,initialDelay和period,对应该方法的两个主要功能,即延迟运行任务和周期性执行任务。
childThread:执行线程initialDelay:初始化延时period:两次开始执行最小间隔时间unit:计时单位public ScheduledFuture> scheduleWithFixedDelay(Runnable command,
long initialDelay,
long delay,
TimeUnit unit);
command:执行线程initialDelay:初始化延时period:前一次执行结束到下一次执行开始的间隔时间(间隔执行延迟时间)unit:计时单位