private final static ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(5);
private final static SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@PostConstruct
public void init() {
scheduler.scheduleAtFixedRate(() -> {
try {
log.info("开始执行...time {}", format.format(new Date()));
Thread.sleep(3000);
log.info("执行结束...time {}", format.format(new Date()));
} catch (Exception e) {
log.error("定时任务执行出错");
}
}, 0, 2, TimeUnit.SECONDS);
log.info("初始化成功 {}", format.format(new Date()));
}
多线程定时任务代码块
该代码创建了一个固定延迟的定时任务,每两秒执行一次。任务开始和结束时,会使用SimpleDateFormat格式化当前时间并记录日志。如果在执行过程中出现异常,错误信息也会被记录。初始化完成后,会输出一条表示成功的日志。
摘要由CSDN通过智能技术生成