?? timertask.java
字號:
package practises.thread;
public abstract class timertask implements Runnable
{
boolean cancelled = false; //取消狀態
long nextTime = -1; //下一定時
long period; //執行間隔
boolean fixedRate; //勻速執行標志
protected timertask() {}
//取消任務執行,如果在運行,返回true,或者如果已被取消或從未定時,返回false
public boolean cancel()
{
if (cancelled)
return false;
cancelled = true;
if (nextTime == -1)
return false;
return true;
}
//定時器指定和時執行,run()方法用來確定是否在贏得時候被調用
public long scheduledExecutionTime()
{
return nextTime;
}
//子類必須覆蓋這一方法,提供要運行的代碼
//timer類從內部線程調用它
public abstract void run();
//由timer來告訴task的定時情況
void schedule(long nextTime, long period, boolean fixedRate)
{
this.nextTime = nextTime;
this.period = period;
this.fixedRate = fixedRate;
}
//在timer調用后將timer取消
boolean reschedule()
{
if (period == 0 || cancelled) return false;
if (fixedRate)
nextTime += period;
else
nextTime = System.currentTimeMillis() + period;
return true;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -