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:计时单位
java ScheduleExecutorService 定时周期执行任务
原文:http://2091535.blog.51cto.com/2081535/1851077