Java Timer 和 TimerTask 那些事

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


貌似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 是不能复用的, 要重新创建


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值