zoukankan      html  css  js  c++  java
  • Java定时器:Timer

    1. schedule(TimerTask task, Date time):在指定Date日期,开始执行TimerTask里的run方法
    2. schedule(TimerTask task, long delay):延迟一段时间后,开始执行TimerTask里的run方法
    
    
    3. schedule(TimerTask task, long delay, long period):延迟一段时间后,开始执行TimerTask里的run方法,并每隔period秒后,重复执行run方法



    1 和 2 实例:
    package com.timer;
    
    import java.util.Date;
    import java.util.Timer;
    import java.util.TimerTask;
    
    public class Run1 {
    
    	private static Timer timer = new Timer();
    	
    	/*
    	 * TimerTask 的实现类,并重写run()方法
    	 */
    	static public class MyTask extends TimerTask{
    
    		@Override
    		public void run() {
    			System.out.println("运行了!时间为:" + new Date());
    		}
    	}
    	
    	public static void main(String[] args) {
    		try{
    			MyTask task = new MyTask();
    			
    //			timer.schedule(task, 5000);		//延迟5秒后,开始执行task里的run()方法
    			
    			timer.schedule(task, 5000, 2000);	//延迟5秒后,开始执行task里的run()方法,并在后面每隔两秒重复执行run()方法
    			
    		}catch(Exception e){
    			e.printStackTrace();
    		}
    		
    	}
    	
    }
    

      

    3 实例:

    package com.timer;
    
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import java.util.Timer;
    import java.util.TimerTask;
    
    public class Run1 {
    
    	private static Timer timer = new Timer();
    	
    	/*
    	 * TimerTask 的实现类,并重写run()方法
    	 */
    	static public class MyTask extends TimerTask{
    
    		@Override
    		public void run() {
    			System.out.println("运行了!时间为:" + new Date());
    		}
    	}
    	
    	public static void main(String[] args) {
    		try{
    			MyTask task = new MyTask();
    			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    			String dateString = "2017-10-17 9:45:00";
    			Date dateRef = sdf.parse(dateString);
    			System.out.println("字符串时间:" + dateRef.toLocaleString() + "  当前时间:" + new Date().toLocaleString());
    			timer.schedule(task, dateRef);	//在指定日期,开始执行run()方法,指定日期要比你现在的系统时间晚
    			
    		}catch(Exception e){
    			e.printStackTrace();
    		}
    		
    	}
    	
    }
    

     运行效果

    字符串时间:2017-10-17 9:45:00  当前时间:2017-10-17 9:44:33
    运行了!时间为:Tue Oct 17 09:45:00 CST 2017
  • 相关阅读:
    echarts 柱状图移除圆角
    echarts 图例显示到右边
    css图片文字一排
    linux磁盘分区、挂载、查看
    mysql的sql筛选排重最大值并修改其属性
    Java调用Linux下的shell命令并将结果以流的形式返回
    SHELL脚本中执行SQL语句操作MYSQL的5种方法
    在 Mac 上使用 `sed` 命令的几个坑
    Linux sed命令实现替换文本内容
    docker ps -a
  • 原文地址:https://www.cnblogs.com/Donnnnnn/p/7680070.html
Copyright © 2011-2022 走看看