定时器
理论基础:
小顶堆:
堆是一个完全二叉树。
完全二叉树:除了最后一层,都达到最大节点数,且最后一层节点都靠左排列。
根节点最大的堆叫做大顶堆,根节点最小的堆叫做小顶堆。

时间轮算法:
JDK定时器Timer
Timer是一个定时器工具,用来执行指定的任务
TimerTask: 抽象类
delay(开始执行的等待时间)
Timer是一种工具,线程用其安排以后在后台线程中执行的任务。可安排任务执行一次,或者定期重复执行。实际上是个线程,定时调度所拥有的TimerTasks。
TimerTask是一个抽象类,它的子类由 Timer 安排为一次执行或重复执行的任务。实际上就是一个拥有run方法的类,需要定时执行的代码放到run方法体内。

package com.xxx.test1;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.TimerTask;
public class MyTimerTask extends TimerTask {
private int num = 1;
@Override
public void run() {
try {
BufferedWriter bw = new BufferedWriter(new FileWriter("1.txt"));
bw.write(num+"");
num++;
bw.flush();
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
package com.xxx.test1;
import java.util.Timer;
public class Exe {
public static void main(String[] args) {
Timer timer = new Timer();
MyTimerTask task = new MyTimerTask();
timer.schedule(task,1000,1000);
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}

浙公网安备 33010602011771号