Timer
变量:
TaskQueue queue
在TashQueue中private TimerTask[] queue = new TimerTask[128];
TimerThread thread
class TimerThread extends Thread
缺点:只有一个thread来执行所有的任务,如果有个任务抛出异常,那么所有的任务就会停止,
如果存在多个任务,切任务的时间很长,导致执行结果于预期不符
构造函数
1 | public Timer(String name, boolean isDaemon) { |
TimerThread的运行:每次执行之后之后都会对数组中排序,最小的放在最上面,有可能有多个任务,任务的执行时间长的话,就推到下个周期。
1 | public void run() { |
schedule()方法
设置定时任务的时间,time:指定时间后,period时间间隔
1 | private void sched(TimerTask task, long time, long period) { |