1.新建一个java项目,里面新建两个类,整体的框架如图所示:
3.MyTimerTask.java里面的代码如下所示:
4.运行得到定时结果:
2.MyTimer.java里面的代码如下所示:
- import java.text.SimpleDateFormat;
- import java.util.Calendar;
- import java.util.Timer;
- public class MyTimer {
- public static void main(String[] args) {
- Timer timer = new Timer();
- MyTimerTask myTimerTask = new MyTimerTask("Number 1.");
- Calendar calendar = Calendar.getInstance();
- SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- System.out.println(sf.format(calendar.getTime()));
- calendar.add(Calendar.SECOND, 3);
- myTimerTask.setName("schedule");
- // schedule(task,delay,period)等待delay之后执行且执行一次task,之后每隔period执行一次task
- timer.schedule(myTimerTask, 1000, 2000);
- }
- }
3.MyTimerTask.java里面的代码如下所示:
- import java.text.SimpleDateFormat;
- import java.util.Calendar;
- import java.util.TimerTask;
- public class MyTimerTask extends TimerTask {
- private static String name;
- public MyTimerTask(String inputName) {
- name = inputName;
- }
- @Override
- public void run() {
- Calendar calendar = Calendar.getInstance();
- SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- System.out.println("Current exec time is:" + sf.format(calendar.getTime()));
- System.out.println("Current exec name is:" + name);
- }
- public static String getName() {
- return name;
- }
- public static void setName(String name) {
- MyTimerTask.name = name;
- }
- }
4.运行得到定时结果: