从Java中的计时器任务队列中删除所有已取消的任务
Timer类的方法之一是int purge()方法。purge()方法从计时器的任务队列中删除所有已取消的任务。调用此方法不会影响计时器的行为,而是会从队列中删除对已取消任务的引用。从JDK 1.5开始,就使用了purge()方法。
purge()方法充当时空权衡的一种媒介,在此过程中,空间会交换时间。更具体地说,该方法的时间复杂度与n + c log 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;
}
}
//通过清除计时器打印任务的清除值
System.out.println("任务的清除是 "+timer.purge());
};
};
timer.schedule(task,7000,4000);
}
}
输出结果
Task is runningTask is running
Task is running
Task terminated
任务的清除是 0
以上是 从Java中的计时器任务队列中删除所有已取消的任务 的全部内容, 来源链接: utcz.com/z/362018.html