java timer六种方法

import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;


public class TimerUtil {
public static void main(String[] args) throws Exception {
System.out.println(new Date().getTime()+"-------开始定时任务--------"); 
timer1();
timer2();
timer3();
timer4();
timer5();
timer6();
}

// 第一种方法:指定任务task在指定时间time执行
//schedule(TimerTask task, Date time)  
public static void timer1() {
Calendar calendar = Calendar.getInstance();   
calendar.set(Calendar.HOUR_OF_DAY, 00); // 控制时    
calendar.set(Calendar.MINUTE, 00);    // 控制分  
calendar.set(Calendar.SECOND, 0);    // 控制秒 
Date time = calendar.getTime();     // 得出执行任务的时间,此处为今天的00:00:00 

Timer timer = new Timer(); 
timer.schedule(new TimerTask() {
public void run() {      
System.out.println(new Date().getTime()+"-------定时任务1--------"); 
}    
}, time);
}

// 第二种方法:指定任务task在指定延迟delay后执行
//schedule(TimerTask task, long delay)  
public static void timer2() {    
Timer timer = new Timer(); 
timer.schedule(new TimerTask() {
public void run() {      
System.out.println(new Date().getTime()+"-------定时任务2--------"); 
}    
}, 2000);// 指定延迟2000毫秒后执行  
}

// 第三种方法:指定任务task在指定时间firstTime执行后,进行重复固定延迟频率peroid的执行   
// schedule(TimerTask task, Date firstTime,long period)   
public static void timer3() {    
Calendar calendar = Calendar.getInstance();   
calendar.set(Calendar.HOUR_OF_DAY, 00); // 控制时    
calendar.set(Calendar.MINUTE, 00);    // 控制分  
calendar.set(Calendar.SECOND, 0);    // 控制秒 
Date time = calendar.getTime();     // 得出执行任务的时间,此处为今天的00:00:00 

Timer timer = new Timer();     
timer.schedule(new TimerTask() {  
public void run() {     
System.out.println(new Date().getTime()+"-------定时任务3--------");
}    
}, time, 1000 * 60 * 60 * 24);   
}

// 第四种方法:指定任务task 在指定延迟delay 后,进行重复固定延迟频率peroid的执行    
// schedule(TimerTask task, long delay, long period)   
public static void timer4() {    
Timer timer = new Timer();     
timer.schedule(new TimerTask() {  
public void run() {     
System.out.println(new Date().getTime()+"-------定时任务4--------");
}    
}, 1000, 5000);   


// 第五种方法:指定任务task在指定时间firstTime执行后,进行重复固定延迟频率peroid的执行    
// scheduleAtFixedRate(TimerTask task,Date firstTime,long period) 
public static void timer5() {  
Calendar calendar = Calendar.getInstance();   
calendar.set(Calendar.HOUR_OF_DAY, 00); // 控制时    
calendar.set(Calendar.MINUTE, 00);    // 控制分  
calendar.set(Calendar.SECOND, 0);    // 控制秒 
Date time = calendar.getTime();     // 得出执行任务的时间,此处为今天的00:00:00 

Timer timer = new Timer();    
timer.scheduleAtFixedRate(new TimerTask() { 
public void run() {     
System.out.println(new Date().getTime()+"-------定时任务5--------");   
}    
}, time, 1000 * 60 * 60 * 24);


// 第六种方法:指定任务task 在指定延迟delay 后,进行重复固定延迟频率peroid的执行   
// scheduleAtFixedRate(TimerTask task, long delay, long period)  
public static void timer6() {   
Timer timer = new Timer();   
timer.scheduleAtFixedRate(new TimerTask() { 
public void run() {    
System.out.println(new Date().getTime()+"-------定时任务6--------");   
}    
}, 1000, 2000);  
}


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值