Java Timer 和 TimerTask 那些事

来源:互联网 发布:淘宝双十一怎么搞活动 编辑:程序博客网 时间:2024/05/29 04:58

以下是本人的一些拙见,知识有限:


貌似Java设计者就没有考虑重用这回事,用完干掉,要用再创建,累不累啊

这个Timer就让我很蛋疼,使用是简单,

mTimer = new Timer();mTimer.schedule(task, 1000, 5000);

但是我想暂停他,以为只要 task.cancel(),恢复的时候再调用 schedule

事情往往不是我想的那样,再次 schedule 他会抛异常,

说:

08-08 09:21:33.995: E/AndroidRuntime(1174): Caused by: java.lang.IllegalStateException: TimerTask is scheduled already

好吧,我释放调Timer总行吧,于是我暂停的时候调用:

mTimer.cancel();mTimer = null;
恢复的时候再重新 new Timer 再 scheduled 

还是报那个错,看来只有全部重新new了,何必呢,既然是定时器为什么不可暂停/继续呢?


还有Java的线程 也是不能暂停的,蛋疼!

-------------------------------------------------------------------------------

以上是初学JAVA时候的见解,现在看来是误解,TimerTask 是不能复用的, 要重新创建


原创粉丝点击