Java多线程学习——任务定时调度
Posted chiweiming
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java多线程学习——任务定时调度相关的知识,希望对你有一定的参考价值。
Timer
本身就是一个线程,最主要的方法就是schedule()。
schedule()的参数介绍:
schedule(TimerTask task, long delay) //延迟delay毫秒以后执行任务
schedule(TimerTask task, long delay, long period)
//延迟delay毫秒以后执行任务,并且每隔peroid循环执行下去
schedule(TimerTask task, Date time)
//在指定的日期time开始执行任务
schedule(TimerTask task, Date firstTime, long period)
//在指定的日期time开始执行任务,,并且每隔peroid循环执行下去
TimerTask
抽象类,实现了Runnale接口,继承它要实现run方法,run方法里面是任务的内容。
import java.util.Calendar; import java.util.GregorianCalendar; import java.util.Timer; import java.util.TimerTask; public class TimerTest public static void main(String[] args) Timer task = new Timer(); Calendar startTask = new GregorianCalendar(); //创建日历类 startTask.add(Calendar.SECOND,10); //获取当前时间点的秒数,然后在此基础上增加10秒 task.schedule(new MyTask(),startTask.getTime(),1000); //任务会在当前时间点后的10秒后开始执行 class MyTask extends TimerTask @Override public void run() System.out.println("Hello,World");
有关Date/Calendar等日期类的介绍看:https://www.cnblogs.com/chiweiming/p/11178814.html
以上是关于Java多线程学习——任务定时调度的主要内容,如果未能解决你的问题,请参考以下文章