最近在项目中用到Timer类时遇到一个异常
java.lang.IllegalStateException: Timer already cancelled.
原因是多次调用了timer.cancel()而没有重新初始化timer;
当调用一次timer.cancel()后,整个timer线程会终止。
若想再次使用该timer,必须重新对timer初始化,否则就会出现上述异常。
另外:
调用cancel方法后,若TimerTask没有进入run()则不会进入run();若已经进入run()则会继续完成timertask再终止。