package com.brianway.learning.java.multithread.timer.example3;
import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
/**
* Created by Brian on 2016/4/15.
*/
/**
* P252
* Timer类的cancel()方法
* 有时不一定会停止计划任务,(见源码,queue锁)
*/
public class Run3_cancel3 {
public static void main(String[] args) throws InterruptedException {
int i = 0;
Calendar calendar = Calendar.getInstance();
Date runDate = calendar.getTime();
while (true) {
i++;
Timer timer = new Timer();
MyTask task = new MyTask(i);
timer.schedule(task, runDate);
timer.cancel();
}
}
}
/*
输出:
第1次没有被cancel取消
第44674次没有被cancel取消
第44676次没有被cancel取消
第44678次没有被cancel取消
第44682次没有被cancel取消
第44684次没有被cancel取消
第44686次没有被cancel取消
第44688次没有被cancel取消
第44697次没有被cancel取消
第44702次没有被cancel取消
第44706次没有被cancel取消
第67967次没有被cancel取消
*/