zoukankan      html  css  js  c++  java
  • 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("定时执行的任务");
        }
    }
  • 相关阅读:
    ModbusRTU模式和结束符(转)
    modbus字符串的结束符介绍
    IAR平台移植TI OSAL到STC8A8K64S4A12单片机中
    实时系统概念
    单片机的存储区范例
    如何实现返回上一个页面,就像点击浏览器的返回按钮一般
    spring项目中的定时任务实现和问题解决
    context-param与init-param的区别与作用
    Chapter 1 First Sight——16
    一个好用简单的布局空间EasyUI
  • 原文地址:https://www.cnblogs.com/huguodong/p/5905693.html
Copyright © 2011-2022 走看看