//测试类
public class Test {
public static void main(String[] args) {
final ScheduleServiceImple scheduleServiceImple = new ScheduleServiceImple();
scheduleServiceImple.startJob(5);
}
}
public class ScheduleServiceImple implements ScheduledService {
final ScheduledExecutorService executorService = Executors.newScheduledThreadPool(10);
@Override
public void startJob(int seconds) {
executorService.scheduleAtFixedRate(new Monitor(), 0, seconds, TimeUnit.SECONDS);
//executorService.scheduleWithFixedDelay(new Monitor(), 0, seconds, TimeUnit.SECONDS);
}
@Override
public void shutdown() {
}
}
//执行类
public class Monitor implements Runnable {
@Override
public void run() {
System.out.println(Thread.currentThread().getName() + "Start Time" + new Date());
System.out.println("java.version:" + System.getProperty("java.version"));
System.out.println("java.class.path:" + System.getProperty("java.class.path"));
System.out.println("user.dir" + System.getProperty("user.dir"));
try {
//等待5秒结束
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(Thread.currentThread().getName() + "End Time" + new Date());
System.out.println("===============");
}
}
解释:
固定速率连续执行:延迟时间内没有执行完,任务会启动多个并行执行
非固定速率连续执行:需要等待任务完成后在进行延迟启动任务
scheduleWithFixedDelay
scheduleAtFixedRate
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- efsc.cn 版权所有 赣ICP备2024042792号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务