概述
介绍
Timer和ScheduledExecutorService,可以定时周期性的执行任务
Timer、TimerTask,是被synchronized修饰的线程安全的类
使用ScheduledExecutorService代替Timer吧
多线程并行处理定时任务时,Timer运行多个TimeTask时,只要其中之一没有捕获抛出的异常,其它任务便会自动终止运行,使用ScheduledExecutorService则没有这个问题。
代码
package com.aware;
import java.util.TimerTask;
/**
* @author yanyugang
* @description 任务一
* @date 2020-01-18 9:08
*/
public class MyTask extends TimerTask {
@Override
public void run(){
System.out.println("com.aware.MyTask run");
}
}
package com.aware;
import java.util.TimerTask;
/**
* @author yanyugang
* @description 任务二
* @date 2020-01-18 9:08
*/
public class MyTask2 extends TimerTask {
@Override
public void run(){
System.out.println("com.aware.MyTask2 run");
}
}
public static void main(String[] args){
Timer timer=new Timer();
timer.schedule(new MyTask(), 1000, 2000);
timer.schedule(new MyTask2(), 1000, 2000);
ScheduledExecutorService executorService = Executors.newScheduledThreadPool(10);
executorService.scheduleAtFixedRate(new MyTask(), 1, 2, TimeUnit.SECONDS);
executorService.scheduleAtFixedRate(new MyTask2(), 1, 2, TimeUnit.SECONDS);
}
最后
以上就是失眠画笔为你收集整理的Timer和ScheduledExecutorService的全部内容,希望文章能够帮你解决Timer和ScheduledExecutorService所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复