java.util.Timer类简单实例

原创 2007年10月10日 16:42:00

public class StatTimer {

    private Timer timer;

    public StatTimer() {

        timer = new Timer();

        timer.schedule(new TimerTask() {
            // 执行的方法
            public void run() {
                System.out.println(new Date().toString());
            }

        }, 0, 1000);

    }

    public void destroy() {
        timer.cancel();
    }

    public static void main(String[] args) {

        StatTimer st = new StatTimer();

        new Thread() {
            public void run(StatTimer st) {
                try {
                    sleep(3000);
                    st.destroy();
                    System.out.println("结束计时!");
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }

            }
        }.run(st);

    }

用Thread类实现(据说用Timer类不好)

public class StatTimer {

    private static Log log = new Log(StatTimer.class);

    public static long request = 0;

    private static Thread thread;

    private static boolean runFlag = true;

    public static void start() {

        thread = new Thread() {
            public void run() {
                try {

                    long time = new Date().getTime();
                    long interval = 1000;
                    if (time % interval != 0) {
                        sleep(interval - time % interval);
                        time += interval - time % interval;
                    }

                    while (runFlag) {
                        sleep(interval);
                        time += interval;
                        System.out.println(new Date(time).getTime() + "/"
                                + new Date().getTime());

                    }
                } catch (InterruptedException e) {
                    e.printStackTrace();
                    // log.exception(e);
                }

            }
        };

        thread.start();

    }

    public static void destroy() {
        runFlag = false;
        if (!thread.isInterrupted())
            thread.interrupt();
    }

    public static void main(String[] args) {

        StatTimer.start();

        new Thread() {
            public void run() {
                try {
                    sleep(3000);
                    StatTimer.destroy();
                    System.out.println("结束计时!");
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }

            }
        }.start();

    }
}

Java 中Timer和TimerTask 定时器和定时任务使用的例子

这两个类使用起来非常方便,可以完成我们对定时器的绝大多数需求 Timer类是用来执行任务的类,它接受一个TimerTask做参数 Timer有两种执行任务的模式,最常用的是schedu...
  • kalision
  • kalision
  • 2012年06月26日 14:39
  • 79317

java中的定时器Timer的使用及实例

在一个android项目中用过一个定时器,就是五分中之后没有对程序进行操作,让程序自动退出。 现在写一下几个常用的方式,就以定时炸弹为例 1,两秒之后炸弹爆炸 //定义一个两秒之后的定时器,两秒...
  • com360
  • com360
  • 2011年09月18日 00:31
  • 2985

java.util.Timer 定时问题

java.util.Timer 定时问题 相信大家都很熟悉java.util.Timer类,java类库中提供的简单的执行定时任务的类,使用也非常简单。自定义任务扩展抽象类TimeTask,实现抽象...
  • xiaojianpitt
  • xiaojianpitt
  • 2012年06月13日 14:32
  • 10213

细说java.util.Timer

Timer是用于管理在后台执行的延迟任务或周期性任务,其中的任务使用java.util.TimerTask表示。任务的执行方式有两种: 按固定速率执行:即scheduleAtFixedRate的两个重...
  • mhmyqn
  • mhmyqn
  • 2015年08月29日 00:59
  • 4703

java.util.Timer和java.util.TimerTask以及 javax.swing.Timer

一.java.util.Timer和java.util.TimerTask 1.概览 Timer是一种定时器工具,用来在一个后台线程计划执行指定任务。它可以计划执行一个任务一次或反复多次。 Time...
  • liaoqianwen123
  • liaoqianwen123
  • 2013年12月04日 10:43
  • 1422

定时任务(1)--java.util.Timer类

在实际开发中我们肯定遇到过这样的问题,对于某项任务,需要定期执行,例如:每天...
  • liushuilining
  • liushuilining
  • 2014年08月10日 13:58
  • 284

java.util.Timer类的使用

应用开发中,经常需要一些周期性的操作,比如每5分钟检查一下新邮件等。对于这样的操作最方便、高效的实现方式就是使用java.util.Timer工具类。比如下面的代码每5分钟检查一遍是否有新邮件:pri...
  • yinyuan1987
  • yinyuan1987
  • 2009年05月02日 10:35
  • 1108

java.util.Timer

public class Timer extends Object 一种工具,线程用其安排以后在后台线程中执行的任务。可安排任务执行一次,或者定...
  • zhaoliang_yong
  • zhaoliang_yong
  • 2013年11月27日 19:52
  • 214

python多线程简单例子

python多线程简单例子 作者:vpoet 日期:大约在夏季 注:无 import thread def childthread(threadid): print "...
  • u013018721
  • u013018721
  • 2015年06月23日 21:13
  • 424

java.util.timer的 schedule方法

timer.schedule(new MyTask(event.getServletContext()), 0, 60*60*1000); 第一个参数"new MyTask(event.getServ...
  • feifei666888
  • feifei666888
  • 2010年06月07日 09:37
  • 5289
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java.util.Timer类简单实例
举报原因:
原因补充:

(最多只允许输入30个字)