看了源码java.util.Timer
,发现java.util.Timer
是由aTimerThread
和a实现的TaskQueue
据说java.util.Timer
可以取消java.util.Timer.cancel()
,
但是当我打电话时,java.util.Timer.cancel()
我发现 Timer 中的 TimerThread 仍在运行,
这是在线系统的问题吗?
如果可能的话,我怎么能TimerThread
在里面停下来java.util.Timer
?
从TimerThread
(jdk 7)的来源我终于发现Timer.cancel()
确实有效。
TimerThread等待 TaskQueue
,当Timer.cancel()
被调用时,TaskQueue
通知 TimerThread
,如果 `TaskQueue 为 EMPTY,TimerThead 应该最终退出......
感谢您的评论,很抱歉浪费您的时间。