定时操作范例
1 package timetask.demo;
2
3 import java.text.SimpleDateFormat;
4 import java.util.Date;
5 import java.util.Timer;
6 import java.util.TimerTask;
7
8 /*
9 * time類 是一個(gè)線程實(shí)施,可以用來實(shí)現(xiàn)在某一個(gè)時(shí)間或者某一個(gè)時(shí)間段后安排某一個(gè)任務(wù)執(zhí)行一次或者定期重復(fù)執(zhí)行
10 * timetask 是 timer對象安排的一次或者重復(fù)執(zhí)行的某一個(gè)任務(wù)
11 * 所以兩者要配合使用
12 * Timetask類是有一個(gè)抽象類,如果要使用該類,需要自己建立一個(gè)類來繼承此類,來實(shí)現(xiàn)其中的抽象方法
13 * time 的主要方法
14 * void cancel()
15 終止此計(jì)時(shí)器,丟棄所有當(dāng)前已安排的任務(wù)。
16 int purge()
17 從此計(jì)時(shí)器的任務(wù)隊(duì)列中移除所有已取消的任務(wù)。
18 void schedule(TimerTask task, Date time)
19 安排在指定的時(shí)間執(zhí)行指定的任務(wù)。
20 void schedule(TimerTask task, Date firstTime, long period)
21 安排指定的任務(wù)在指定的時(shí)間開始進(jìn)行重復(fù)的固定延遲執(zhí)行。
22 void schedule(TimerTask task, long delay)
23 安排在指定延遲后執(zhí)行指定的任務(wù)。
24 void schedule(TimerTask task, long delay, long period)
25 安排指定的任務(wù)從指定的延遲后開始進(jìn)行重復(fù)的固定延遲執(zhí)行。
26 void scheduleAtFixedRate(TimerTask task, Date firstTime, long period)
27 安排指定的任務(wù)在指定的時(shí)間開始進(jìn)行重復(fù)的固定速率執(zhí)行。
28 void scheduleAtFixedRate(TimerTask task, long delay, long period)
29 安排指定的任務(wù)在指定的延遲后開始進(jìn)行重復(fù)的固定速率執(zhí)行。
30 timetask
31 public abstract class TimerTask
32 方法:
33 boolean cancel()
34 取消此計(jì)時(shí)器任務(wù)。
35 abstract void run()
36 此計(jì)時(shí)器任務(wù)要執(zhí)行的操作。
37 long scheduledExecutionTime()
38 返回此任務(wù)最近實(shí)際 執(zhí)行的已安排 執(zhí)行時(shí)間
39
40 */
41 /*
42 * 需求:定時(shí)的打印系統(tǒng)的當(dāng)前時(shí)間
43 */
44 //創(chuàng)建一個(gè)類繼承timetask
45 class MyTask extends TimerTask{
46 //復(fù)寫run()方法
47 public void run(){
48 //創(chuàng)建一個(gè)時(shí)間格式化的對象
49 SimpleDateFormat sd = new SimpleDateFormat("yyy-MM-dd HH:mm:ss:SSS");
50 //打印系統(tǒng)時(shí)間
51 System.out.println(sd.format(new Date()));
52
53 }
54 }
55 public class TimeDemo {
56 public static void main(String[] args) {
57 //創(chuàng)建 timer對象
58 Timer t = new Timer();
59 //創(chuàng)建timertask對象
60 MyTask mt = new MyTask();
61 //用timer的這個(gè)方法 void schedule(TimerTask task, long delay, long period)
62 t.schedule(mt, 1000,2000);
63 }
64
65 }
?
轉(zhuǎn)載于:https://www.cnblogs.com/yuanyuan2017/p/6944622.html
總結(jié)
- 上一篇: SpringMVC整合MongoDB
- 下一篇: Array的用法总结-swift