凉SAMA 2017-11-24 03:10 采纳率: 0%
浏览 1315

java关于Timer线程的生命周期问题

  • Timer()构造器的解释是随着主进程消亡而消亡,那么在一个B/S架构系统中,所谓的主进程是不是就是启动了这个Timer对象的bean呢?如果这个bean死亡了,是不是这个Timer就死亡了?
  • 那么如果将Timer对象初始化为守护线程Timer t=new Timer(true);那么是不是这个Timer就能独立起来运行,不随着所在的bean消亡而消亡,而是只要这个系统还有一个进程运行着,这个Timer对象就不会死亡?
  • 如图,写了一个发邮件功能,系统启动时启动Timer,实际运行时,刚启动时功能没有问题,如果过了8点会马上发一封邮件,如果没到8点会等到8点时发送邮件,但是当Timer延迟为24小时,第二天并不会收到邮件,所以怀疑是线程在某个不定时过程中被消亡了。请问我的怀疑对吗?如果按照这个思路,我将图中的Timer改为Timer(true),是不是就可以解决问题了?图片说明
  • 写回答

1条回答 默认 最新

  • 善良勤劳勇敢而又聪明的老杨 Java领域优质创作者 2017-11-24 03:53
    关注

    timer()中执行的任务为task对象,如果任务没有执行完,及时主线程关闭了,timer()还是会等task任务执行完才结束。

    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!