public static void main(String[] args) {
// 创建线程池,一个小时执行一次
ScheduledExecutorService service = Executors.newSingleThreadScheduledExecutor();
Runnable runnable = new Runnable() {
@SneakyThrows
@Override
public void run() {
Date date = new Date();
String format = DateUtils.formatDate(date, DatePattern.NORM_DATE_PATTERN)+" 8:00:00";
String format1 = DateUtils.formatDate(date,DatePattern.NORM_DATE_PATTERN)+" 16:30:00";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Date beginTime = simpleDateFormat.parse(format);
Date endTime = simpleDateFormat.parse(format1);
if (date.after(beginTime) && date.before(endTime)){
// 关闭线程池
service.shutdown();
}else {
// 执行逻辑
System.out.println(new Date());
}
}
};
// TimeUnit.SECONDS 延时单位为秒
service.scheduleAtFixedRate(runnable, 0, 1, TimeUnit.HOURS);
}
java线程池的执行和关闭
最新推荐文章于 2024-04-27 17:30:34 发布