• java定时器本身就是多线程


    定时器

    1、在应用开发中,经常需要一些周期性的操作,比如每5分钟执行某一操作等。对于这样的操作最方便、高效的实现方式就是使用java.util.Timer工具类。

    private java.util.Timer timer;
    timer = new Timer(true);
    timer.schedule(
    new java.util.TimerTask() { public void run() { //server.checkNewMail(); 要操作的方法 } }, 0, 5*60*1000); 
          第一个参数是要操作的方法,第二个参数是要设定延迟的时间,第三个参数是周期的设定,每隔多长时间执行该操作。

        使用这几行代码之后,Timer本身会每隔5分钟调用一遍server.checkNewMail()方法,不需要自己启动线程。Timer本身也是多线程同步的,多个线程可以共用一个Timer,不需要外部的同步代码。

     
    2、
    (1)Timer.schedule(TimerTask task,Date time)安排在制定的时间执行指定的任务。
    (2)Timer.schedule(TimerTask task,Date firstTime ,long period)安排指定的任务在指定的时间开始进行重复的固定延迟执行.
    (3)Timer.schedule(TimerTask task,long delay)安排在指定延迟后执行指定的任务.
    (4)Timer.schedule(TimerTask task,long delay,long period)安排指定的任务从指定的延迟后开始进行重复的固定延迟执行.
    (5)Timer.scheduleAtFixedRate(TimerTask task,Date firstTime,long period)安排指定的任务在指定的时间开始进行重复的固定速率执行.
    (6)Timer.scheduleAtFixedRate(TimerTask task,long delay,long period)安排指定的任务在指定的延迟后开始进行重复的固定速率执行.
    import java.util.Timer;
    import java.util.TimerTask;
    
    public class TryTimer {
        public static void main(String[] args) {
            Timer timer = new Timer();
            timer.schedule(new TimerTask() {
                public void run() {
                    System.out.println("test");
                }
            }, 0, 1000);// 0ms之后开始执行,每隔1000ms执行一次
        }    
    }

    一个好的定时器框架例子,连接如下
    http://www.cnblogs.com/phinecos/archive/2008/02/25/1081354.html

  • 相关阅读:
    扩散模型+文本生成
    期末总结
    查看笔记本电池损耗
    Qt数据可视化(散点图、折线图、柱状图、盒须图、饼状图、雷达图)开发实例
    24点游戏题库算法分析
    Qt项目开发实例 (含源码)
    Knowledge base for Interview
    System integration
    powerdesigner的使用
    VC++60MFC框架学习增加拖拽
  • 原文地址:https://www.cnblogs.com/yaowukonga/p/2870223.html
Copyright © 2020-2023  润新知