• Java学习笔记之:Java 定时任务


    一、介绍

    在应用里经常都有用到在后台跑定时任务的需求。比如网络运营商会在每个月的一号对数据进行一次统计。在java中我们可以继承timertask类来实现定时任务。

    二、笔记

    /**
     * 定时任务
     * 1.继承timertask(runable)的子类
     * 2.重写run方法
     * 3.在run方法中编写自己的业务
     * 4.通过timer类提供的方法来启动定时任务
     * @author HuTiger
     *
     */
    public class TimeTask extends TimerTask {
    
        private Timer timer;
        private TimerTask task;
    
        public static void main(String[] args) {
            TimeTask t = new TimeTask();
            // t.start();
            SimpleDateFormat sdDateFormat = new SimpleDateFormat(
                    "yyyy-MM-dd hh:mm:ss");
            Date date;
            try {
                date = sdDateFormat.parse("2016-09-23 15:32:00");
                t.start(date);
            } catch (ParseException e) {
                // TODO 自动生成的 catch 块
                e.printStackTrace();
            }
    
        }
    
        @Override
        public void run() {
            // TODO 自动生成的方法存根
    
        }
    
        public void start(Date date) {
            if (timer == null) {
                timer = new Timer();
            }
            if (task == null) {
                task = new myTimer();
            }
            timer.schedule(task, date);
            
            //在程序启动后,一定时间内开始执行
            timer.schedule(task, 5000,1000);
            //如果设置的时间已经过时,那么将从当前时间开始运行
            timer.schedule(task, date,1000);
            //如果设置的时候已经过时,那么将从设置时间开始执行,把之前没有完成的补齐
            timer.scheduleAtFixedRate(task, date, 1000);
        }
    
        public void stop() {
            if (task != null) {
                task.cancel();
            }
            if (timer != null) {
                timer.cancel();
            }
            task=null;
            timer=null;
        }
    }
    
    class myTimer extends TimerTask {
        @Override
        public void run() {
            // TODO 自动生成的方法存根
            System.out.println("定时执行的任务");
        }
    }
  • 相关阅读:
    集大软件工程15级结对编程week1
    集大软件工程15级个人作业Week2
    集大软件工程15级个人作业Week1
    Java 课程设计 "Give it up"小游戏(团队)
    Java 课程设计 "Give it up"小游戏设计(个人) 201521123077
    201521123077 《Java程序设计》第14周学习总结
    201521123077 《Java程序设计》第13周学习总结
    2019-助教总结
    软工的总分
    第四次团队作业
  • 原文地址:https://www.cnblogs.com/huguodong/p/5905693.html
Copyright © 2020-2023  润新知