当前位置: 技术问答>java相关
有用过Timer类的请给解释解释
来源: 互联网 发布时间:2017-04-11
本文导语: Timer.schedule(TimerTask task, Date firstTime, long period) 比如Date firstTime是2002/12/26/8:00(当然是转换后的毫秒),long period是10 * 60 * 1000(间隔10分钟). 如果我现在的时间是2002/12/26/8:30,那这个task第一次执行的时间,第二次执行的...
Timer.schedule(TimerTask task, Date firstTime, long period)
比如Date firstTime是2002/12/26/8:00(当然是转换后的毫秒),long period是10 * 60 * 1000(间隔10分钟).
如果我现在的时间是2002/12/26/8:30,那这个task第一次执行的时间,第二次执行的时间是什么时间?
比如Date firstTime是2002/12/26/8:00(当然是转换后的毫秒),long period是10 * 60 * 1000(间隔10分钟).
如果我现在的时间是2002/12/26/8:30,那这个task第一次执行的时间,第二次执行的时间是什么时间?
|
第一次:2002/12/26/8:00
下一次:2002/12/26/8:40
下一次:2002/12/26/8:40
|
schedule
public void schedule(TimerTask task,
Date firstTime,
long period)
Schedules the specified task for repeated fixed-delay execution, beginning at the specified time. Subsequent executions take place at approximately regular intervals, separated by the specified period.
就是说第一次从firstTime开始执行。
后续执行以period为时间间隔重复执行,即从firsttime开始,每period执行一次.
public void schedule(TimerTask task,
Date firstTime,
long period)
Schedules the specified task for repeated fixed-delay execution, beginning at the specified time. Subsequent executions take place at approximately regular intervals, separated by the specified period.
就是说第一次从firstTime开始执行。
后续执行以period为时间间隔重复执行,即从firsttime开始,每period执行一次.
|
第一次:2002/12/26/8:30
第二次:2002/12/26/8:40
第二次:2002/12/26/8:40
|
interface TimerListener{
public void processEvent();
}
public Class Clock implements TimerListener{
Clock(){
Timer t=new Timer(this); //向Timer类登记
}
public void processEvent(){
//你的事件处理的代码
}
}
class Timer extends Thread {
private TimerListener tl;
Timer(TimerListener tl){
this.tl=tl;
}
public void run(){
while(true){
sleep(1000);
tl.processEvent();
}
}
}
public void processEvent();
}
public Class Clock implements TimerListener{
Clock(){
Timer t=new Timer(this); //向Timer类登记
}
public void processEvent(){
//你的事件处理的代码
}
}
class Timer extends Thread {
private TimerListener tl;
Timer(TimerListener tl){
this.tl=tl;
}
public void run(){
while(true){
sleep(1000);
tl.processEvent();
}
}
}
|
不对吧
第一次:2002/12/26/8:30
第二次:2002/12/26/8:40 + 你的任务运行的时间
如果你想定时执行,而不是定间隔那么改用
Timer.scheduleAtFixRate
第一次:2002/12/26/8:30
第二次:2002/12/26/8:40 + 你的任务运行的时间
如果你想定时执行,而不是定间隔那么改用
Timer.scheduleAtFixRate
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。