javase2 day02 Timer定时器
java.util.Timer功能
1)可安排自动的计划任务的类,没个任务都是一个线程
2)创建Timer实例
3)为Timer 实例增加计划任务,计划任务是一个接口
4)使用 cancel() 清除 Timer对象上所有计划任务
Timer定时器演示:
public class TimerDemo{
public static void main(String[] args){
Timer timer = new Timer();//创建定时器对象
Calender cal = new GregorianCalendar();
cal.set(Calender.DAY_OF_WEEK,Calender.SATURDAY);
Date date = cal.getTime();
//设置任务:在指定时间执行计划任务的run方法
timer.schedule(new TimerTask(){
public void run(){System.out.println("去爬香山");}
},date);
}
}
实例:
public class TimerDemo2{
public static void main(String[] args){
final Timer timer = new Timer();
//指定时间计划完成计划任务的run()方法
timer.schedule(
new TimerTask(){
public void run(){System.out.println("boom");}
},5000);
timer.schedule(
new TimerTask(){
public void run(){timer.cancel();}//取消定时器
},3000);
}
}
倒计时
public class TimerDemo{
public static void main(String[] args){
int min = 5;
long start = System.currentTimeMillis();
final long end = start+min*60*1000;//计算结束时间
final Timer timer = new Timer();
//延迟0毫秒,每隔1000毫秒执行一次
timer.schedule(new TimerTask(){
public void run(){
//show 是剩余时间,即要显示的时间
long show = end - System.currentTimeMillis();
long h = show/1000/60/60;
long m = show/1000/60%60;
long s = show/1000%60;
System.out.println(h+""+m+""+s);
}
},0,1000);
//计时结束后,停止全部timer计时任务
timer.schedule(
new TimerTask(){
public void run(){
timer.cancel();
}
},new Date(end));
}
}
java.util.Timer功能
1)可安排自动的计划任务的类,没个任务都是一个线程
2)创建Timer实例
3)为Timer 实例增加计划任务,计划任务是一个接口
4)使用 cancel() 清除 Timer对象上所有计划任务
Timer定时器演示:
public class TimerDemo{
public static void main(String[] args){
Timer timer = new Timer();//创建定时器对象
Calender cal = new GregorianCalendar();
cal.set(Calender.DAY_OF_WEEK,Calender.SATURDAY);
Date date = cal.getTime();
//设置任务:在指定时间执行计划任务的run方法
timer.schedule(new TimerTask(){
public void run(){System.out.println("去爬香山");}
},date);
}
}
实例:
public class TimerDemo2{
public static void main(String[] args){
final Timer timer = new Timer();
//指定时间计划完成计划任务的run()方法
timer.schedule(
new TimerTask(){
public void run(){System.out.println("boom");}
},5000);
timer.schedule(
new TimerTask(){
public void run(){timer.cancel();}//取消定时器
},3000);
}
}
倒计时
public class TimerDemo{
public static void main(String[] args){
int min = 5;
long start = System.currentTimeMillis();
final long end = start+min*60*1000;//计算结束时间
final Timer timer = new Timer();
//延迟0毫秒,每隔1000毫秒执行一次
timer.schedule(new TimerTask(){
public void run(){
//show 是剩余时间,即要显示的时间
long show = end - System.currentTimeMillis();
long h = show/1000/60/60;
long m = show/1000/60%60;
long s = show/1000%60;
System.out.println(h+""+m+""+s);
}
},0,1000);
//计时结束后,停止全部timer计时任务
timer.schedule(
new TimerTask(){
public void run(){
timer.cancel();
}
},new Date(end));
}
}