java定時器的幾種用法
阿新 • • 發佈:2018-02-25
comment 四種方法 out x64 instance system new ring main
package
com.lid;
import
java.util.Calendar;
import
java.util.Date;
import
java.util.Timer;
import
java.util.TimerTask;
public
class
Test {
public
static
void
main(String[] args) {
//timer1();
timer2();
//timer3();
//timer4();
}
// 第一種方法:設定指定任務task在指定時間time執行 schedule(TimerTask task, Date time)
public
static
void
timer1() {
Timer timer =
new
Timer();
timer.schedule(
new
TimerTask() {
public
void
run() {
System.out.println(
"-------設定要指定任務--------"
);
}
},
2000
);
// 設定指定的時間time,此處為2000毫秒
}
// 第二種方法:設定指定任務task在指定延遲delay後進行固定延遲peroid的執行
// schedule(TimerTask task, long delay, long period)
public
static
void
timer2() {
Timer timer =
new
Timer();
timer.schedule(
new
TimerTask() {
public
void
run() {
System.out.println(
"-------設定要指定任務--------"
);
}
},
1000
,
1000
);
}
// 第三種方法:設定指定任務task在指定延遲delay後進行固定頻率peroid的執行。
// scheduleAtFixedRate(TimerTask task, long delay, long period)
public
static
void
timer3() {
Timer timer =
new
Timer();
timer.scheduleAtFixedRate(
new
TimerTask() {
public
void
run() {
System.out.println(
"-------設定要指定任務--------"
);
}
},
1000
,
2000
);
}
// 第四種方法:安排指定的任務task在指定的時間firstTime開始進行重復的固定速率period執行.
// Timer.scheduleAtFixedRate(TimerTask task,Date firstTime,long period)
public
static
void
timer4() {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY,
12
);
// 控制時
calendar.set(Calendar.MINUTE,
0
);
// 控制分
calendar.set(Calendar.SECOND,
0
);
// 控制秒
Date time = calendar.getTime();
// 得出執行任務的時間,此處為今天的12:00:00
Timer timer =
new
Timer();
timer.scheduleAtFixedRate(
new
TimerTask() {
public
void
run() {
System.out.println(
"-------設定要指定任務--------"
);
}
}, time,
1000
*
60
*
60
*
24
);
// 這裏設定將延時每天固定執行
}
}
java定時器的幾種用法