Java中的定时器

简介: 定时器是一个应用十分广泛的线程工具,可用于调度多个定时任务以后台线程的方式执行。在Java中,可以通过Timer和TimerTask类来实现定义调度的功能。(在java.util包下)   A:Timer(定时器类)     public Timer()     public void ...

定时器是一个应用十分广泛的线程工具,可用于调度多个定时任务以后台线程的方式执行。在Java中,可以通过Timer和TimerTask类来实现定义调度的功能。(在java.util包下)
  A:Timer(定时器类)
    public Timer()
    public void schedule(TimerTask?task, long?delay)
    public void schedule(TimerTask task, long delay, long period)
  B:TimerTask(任务抽象类)
    public abstract void run()
    public boolean cancel()
  C:在实际开发中
    Quartz是一个完全由java编写的开源调度框架
  D:需求:在指定的时间删除我们的指定目录(演示:使用项目路径下的demo)

示例代码如下:

 1 package cn.itcast_12;
 2 
 3 import java.io.File;
 4 import java.text.ParseException;
 5 import java.text.SimpleDateFormat;
 6 import java.util.Date;
 7 import java.util.Timer;
 8 import java.util.TimerTask;
 9 
10 /*
11  * 需求:在指定的时间删除我们的指定目录(演示:使用项目路径下的demo)
12  */
13 public class TimerTest {
14     public static void main(String[] args) throws ParseException {
15         Timer t = new Timer();
16 
17         String s = "2014-11-27 15:45:00";
18         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
19         Date d = sdf.parse(s);
20 
21         t.schedule(new DeleteFolder(), d);
22     }
23 }
24 
25 
26 class DeleteFolder extends TimerTask {
27 
28     @Override
29     public void run() {
30         File srcFolder = new File("demo");
31         deleteFolder(srcFolder);
32     }
33 
34     // 递归删除目录
35     public void deleteFolder(File srcFolder) {
36         File[] fileArray = srcFolder.listFiles();
37         if (fileArray != null) {
38             for (File file : fileArray) {
39                 if (file.isDirectory()) {
40                     deleteFolder(file);
41                 } else {
42                     System.out.println(file.getName() + ":" + file.delete());
43                 }
44             }
45             System.out.println(srcFolder.getName() + ":" + srcFolder.delete());
46         }
47     }
48     
49 }

 

我的GitHub地址: https://github.com/heizemingjun
我的博客园地址: http://www.cnblogs.com/chenmingjun
我的蚂蚁笔记博客地址: http://blog.leanote.com/chenmingjun
Copyright ©2018 黑泽明军
【转载文章务必保留出处和署名,谢谢!】
相关文章
|
安全 Java
Java定时器
Java定时器
67 0
|
7月前
|
安全 Java
Java多线程基础-10:代码案例之定时器(一)
`Timer` 是 Java 中的一个定时器类,用于在指定延迟后执行指定的任务。它常用于实现定时任务,例如在网络通信中设置超时或定期清理数据。`Timer` 的核心方法是 `schedule()`,它可以安排任务在延迟一段时间后执行。`
145 1
|
5月前
|
Java 调度 开发者
Java定时器的使用方法与调度策略
Java定时器的使用方法与调度策略
|
7月前
|
设计模式 安全 Java
Java 多线程系列Ⅳ(单例模式+阻塞式队列+定时器+线程池)
Java 多线程系列Ⅳ(单例模式+阻塞式队列+定时器+线程池)
|
7月前
|
Java 调度
Java多线程基础-10:代码案例之定时器(二)
Java 多线程基础中,定时器(Timer)的实现通常使用 `PriorityBlockingQueue` 和 `wait/notify` 机制来管理任务。
51 0
java的Timer定时器
java的Timer定时器
|
7月前
|
安全 Java 容器
Java定时器
Java定时器
51 0
|
7月前
|
Java
【Java多线程】定时器Timer
【Java多线程】定时器Timer
54 0
【Java多线程】定时器Timer
《Java-SE-第二十五章》之定时器
《Java-SE-第二十五章》之定时器
|
安全 Java
【Java|多线程与高并发】定时器(Timer)详解
在Java中,定时器Timer类是用于执行定时任务的工具类。它允许你安排一个任务在未来的某个时间点执行,或者以固定的时间间隔重复执行。