從 Java 中的定時器任務佇列中刪除所有已取消的任務
Timer 類的 int purge() 方法是該類的一種方法。purge() 方法會從計時器的任務佇列中刪除所有已取消的任務。呼叫該方法不會影響計時器的行為,而是從佇列中刪除對已取消任務的引用。purge() 方法自 JDK 1.5 起出現。
purge() 方法充當了時間空間權衡的媒介,它以時間換取空間。更具體地說,該方法的時間複雜度與 n + clog n 成正比,其中 n 是佇列中的任務數,而 c 是已取消的任務數。
宣告 - java.util.Timer.purge() 方法的宣告如下 -
public int purge()
我們看看 purge() 方法的一個示例程式
示例
import java.util.*; public class Example { public static void main(String[] args) { Timer timer = new Timer(); // creating timer TimerTask task = new TimerTask() // creating timer task { public void run() { for(int i=1; i<=5;i++) { System.out.println("Task is running"); if(i>=3) { System.out.println("Task terminated"); timer.cancel(); break; } } // printing the purge value of the task by purging the timer System.out.println("The purge of the task is "+timer.purge()); }; }; timer.schedule(task,7000,4000); } }
輸出
Task is running Task is running Task is running Task terminated The purge of the task is 0
廣告