JAVA定时器
				
									
					
					
						 | 
						
							
							Ccoffee 
							
							
								2013年3月11日 9:38
								本文热度 6055
							
							 
						 | 
					
					
				 
				
今天我们讲一下JAVA计时器的做法,很简单,网络上已经有不计其数。还是贴了出来!
java 定时器可以用作,定时刷新缓存等。。。。。。。。。。。
timer.schedule(task, firstTime, period);
task参数是,TimerTask 类,在包:import java.util.TimerTask .使用者要继承该类,并实现 public void run() 方法,因为 TimerTask 类 实现了 Runnable 接口。
firstTime参数是,当你调用该方法后,该方法必然会调用 TimerTask 类 TimerTask 类 中的 run() 方法,这个参数就是这两者之间的差值,转换成汉语的意思就是说,用户调用 schedule() 方法后,要等待这么长的时间才可以第一次执行 run() 方法。
period参数是,第一次调用之后,从第二次开始每隔多长的时间调用一次 run() 方法。
 
schedule和scheduleAtFixedRate的区别在于,如果指定开始执行的时间在当前系统运行时间之前,scheduleAtFixedRate会把已经过去的时间也作为周期执行,而schedule不会把过去的时间算上。
schedule 
 
import java.util.Timer; import java.util.TimerTask; public class TestTimer {       static Timer timer = null;      public static void main(String[] args) {         timer = new Timer();            System.out.println("-----------定时间器已经启动。。。。。。");            timer.schedule(new TimerTask() {               @Override               public void run() {               System.out.println("运行我了哦!!!");            }         }, 0, 5*1000);     } }  | 
         scheduleAtFixedRate
 
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date;  
import java.util.Timer; import java.util.TimerTask; public class TestTimer {  
    public static void main(String[] args) {        SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");        try {          Date datetime = sdf .parse("2007/07/31 23:59:00");          timer = new Timer();          System.out.println("-----------定时间器已经启动。。。。。。");          timer.scheduleAtFixedRate(new TimerTask() {              @Override              public void run() {                 System.out.println("scheduleAtFixedRate -----test");              }          }, datetime , 5*1000);      } catch (ParseException e) {         e.printStackTrace();      }   }  | 
运行结果自己试试便知!嘿嘿! 
该文章在 2013/3/11 9:38:19 编辑过