ScheduledThreadPoolExecutor线程池scheduleAtFixedRate和scheduleWithFixedDelay的区别
2021-06-18 20:03
标签:一个 fixed tor 共同点 OLE pool 没有 task rate ScheduledFuture> result = executor.scheduleAtFixedRate(task,2, 5, TimeUnit.SECONDS); 在延迟2秒之后开始执行首个任务,之后每隔5秒执行一个任务,也就是固定间隔时间执行一次任务,而不是等到上个任务执行结束。 ScheduledFuture> result = executor.scheduleWithFixedDelay(task,2, 5, TimeUnit.SECONDS); 在延迟2秒后开始执行首个任务,总是等到每个任务执行完毕后再等待(间隔)5秒开始执行下个任务。 两个方法的共同点: 如果间隔时间没有单次任务的执行时间长,则一个任务执行结束,就立马开始下一个任务。虽然不能明显看出间隔时间,但是也不会使任务并发(交叉混合)执行,任务与任务之间一定是顺序执行。 如果中途有任何线程发生异常,则任务终止。 ScheduledThreadPoolExecutor线程池scheduleAtFixedRate和scheduleWithFixedDelay的区别 标签:一个 fixed tor 共同点 OLE pool 没有 task rate 原文地址:https://www.cnblogs.com/zhuwenjoyce/p/9706513.html
文章标题:ScheduledThreadPoolExecutor线程池scheduleAtFixedRate和scheduleWithFixedDelay的区别
文章链接:http://soscw.com/index.php/essay/95623.html