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:计时单位
转载于:https://blog.51cto.com/2091535/1851077