从 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
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP