当前位置: 首页 > news >正文

大型图片库网站建设建设部网站资质查询

大型图片库网站建设,建设部网站资质查询,如何做旅游网站的旅行家,坪地网站建设信息文章目录 ScheduledThreadPoolExecutortimer(不建议用)ScheduledThreadPoolExecutor处理异常应用 ScheduledThreadPoolExecutor timer(不建议用) timer也可以进行延迟运行,但是会有很多问题。 比如task1运行时间超过…

文章目录

  • ScheduledThreadPoolExecutor
    • timer(不建议用)
    • ScheduledThreadPoolExecutor
    • 处理异常
    • 应用

ScheduledThreadPoolExecutor

timer(不建议用)

timer也可以进行延迟运行,但是会有很多问题。

比如task1运行时间超过task2延迟时间。

@Slf4j(topic = "c.Main")
public class Main {public static void main(String[] args) {Timer timer = new Timer();TimerTask task1 = new TimerTask() {@Overridepublic void run() {log.debug("task 1");try {sleep(2000);} catch (InterruptedException e) {e.printStackTrace();}}};TimerTask task2 = new TimerTask() {@Overridepublic void run() {log.debug("task 2");}};log.debug("start...");timer.schedule(task1, 1000);timer.schedule(task2, 1000);}
}

在这里插入图片描述

当task1出异常,task2不会运行。

ScheduledThreadPoolExecutor

Executors就可以创建。

延迟执行:

@Slf4j(topic = "c.Main")
public class Main {public static void main(String[] args) {ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(1);scheduledExecutorService.schedule(() -> {log.debug("task1");int i = 1 / 0; // 模拟异常}, 1, TimeUnit.SECONDS);scheduledExecutorService.schedule(() -> {log.debug("task2");}, 1, TimeUnit.SECONDS);}
}

在这里插入图片描述

可以看出通过控制线程数可以解决timer的缺点。
同时出现异常也不会影响其他任务运行。

定时运行:

@Slf4j(topic = "c.Main")
public class Main {public static void main(String[] args) {ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(1);log.debug("start...");scheduledExecutorService.scheduleAtFixedRate(() -> {log.debug("running...");}, 1, 1, TimeUnit.SECONDS); // 每隔1s反复执行}
}

在这里插入图片描述

处理异常

try catch

ExecutorService pool = Executors.newFixedThreadPool(1);
pool.submit(() -> {try {log.debug("task1");int i = 1 / 0;} catch (Exception e) {log.error("error:", e);}
});

通过返回值判断

ExecutorService pool = Executors.newFixedThreadPool(1);Future<Boolean> f = pool.submit(() -> {log.debug("task1");int i = 1 / 0; // 模拟异常return true;
});
log.debug("result:{}", f.get());

若正常执行返回true,
若出现异常get会返回异常信息。
在这里插入图片描述

应用

每周四定时运行

public class Main {public static void main(String[] args) throws ExecutionException, InterruptedException {// 获得当前时间LocalDateTime now = LocalDateTime.now();// 获取本周四 18点时间LocalDateTime startTime =now.with(DayOfWeek.THURSDAY).withHour(18).withMinute(0).withSecond(0).withNano(0);// 如果当前时间已经超过 本周四 那么找下周四if(now.compareTo(startTime) >= 0) {startTime = startTime.plusWeeks(1);}// 计算时间差,延时执行时间long initialDelay = Duration.between(now, startTime).toMillis();// 执行间隔 1周long period = 1000 * 60 * 60 * 24 * 7;ScheduledExecutorService executor = Executors.newScheduledThreadPool(2);executor.scheduleAtFixedRate(() -> {System.out.println("running..");}, initialDelay, period, TimeUnit.MILLISECONDS);}
}
http://www.yayakq.cn/news/595346/

相关文章:

  • 域名注册成功怎么做网站中国建设银行网站 纪念币预约
  • 怎么看网站的建设时间梁水才seo优化专家
  • 做恐怖网站苏州seo推广优化
  • 如何成为网站开发工程师网站开发的意义
  • 山西电力建设一公司网站上海平台公司
  • 网站开发可选择的方案综治暨平安建设网站
  • 网站的维护与更新吗网站做搜索要用数据库吗
  • 网站服务器放置地网站建设用到的算法
  • 门户网站app有哪些制作网站域名需要多少钱
  • 课程网站开发的开题报告一键lnmp搭建wordpress
  • 大网站cn域名网站结构优点
  • 自己设计的网站如何推广wordpress模板中文版
  • 策划行业网站wordpress标签静态化
  • 湖北神润建设工程有限公司网站工程交易中心
  • 做网站都要买服务器吗建设网站的策划书
  • 网站是不是要用代码做东莞网站制作方案定制
  • 吉安做网站多少钱分析企业营销型网站建设的可能性
  • 廊坊市广阳区建设局网站做网站都有哪些费用
  • 旅行社网站模板怎么建设网站上传音乐
  • 高端模版网站网站安全保障机制如何做
  • 建设银行兰州分行网站郑州seo技术博客
  • 网站后台不能修改扬州建设网站
  • 网站建设的产品类型是什么合肥能做网站的公司
  • 企业站seo外包新会住房和城乡建设部网站
  • 深圳外贸建设网站有没有学做零食的网站
  • 集团企业网站模板wordpress小工具文本图标
  • 宁波市住房和城乡建设部网站石家庄网站建设咨询薇
  • 南通启益建设集团有限公司网站html5视频网站模板
  • 社区智慧警务网站如何推进警务室建设方案网盘资源免费观看
  • 网站转移空间以后ip会变化吗电子商务网站的推广方式