日期:2014-05-20  浏览次数:20583 次

linux系统的中怎么自动唤醒java程序中已经死了的线程
请教各位大侠,我开发的java系统中写了一个短信发送线程,定时发送信息.但是经常出现线程死亡的现象,我只能手动重新启动一次线程才能继续运行,请问linux系统中有没有保护进程直接去检测我的线程状态,当线程死亡,操作系统自动将其唤醒,又如何去实现呢?
  在此先感谢你们能够关注这个问题.

------解决方案--------------------
为啥会死呢?
定时任务,不严格的,简单的定时的话可以用Timer、
高级一点的可以参考quartz
------解决方案--------------------
线程死亡,一般是由于异常而死亡的。而这种异常可能是在你设计代码的范围之中,也可能是由于未合理的设计异步而侵入到设计的代码范围之外而造成的。原则上,尽量处理所有的已知异常,抛出所有未知异常。

在这里我给你推荐2种思路,对于使用何种方案,需要考虑你的使用。

1.自实现定时线程或使用定时器,就是上述一种方式。但是在此仍然要注意,异常的处理。定时器依旧是线程的方式来执行的 。

2.线程池方式,这种方式对于异常的处理压力可以变得轻松些,所有线程的生命周期由池持有。

这2种方式,如果对于单Modem发送,可以使用第一种,Modem池发送使用第2种。

另,一定要注意异步中,一个线程的工作范围是要设计既定的。
------解决方案--------------------

------解决方案--------------------
探讨
线程死亡,一般是由于异常而死亡的。而这种异常可能是在你设计代码的范围之中,也可能是由于未合理的设计异步而侵入到设计的代码范围之外而造成的。原则上,尽量处理所有的已知异常,抛出所有未知异常。

在这里我给你推荐2种思路,对于使用何种方案,需要考虑你的使用。

1.自实现定时线程或使用定时器,就是上述一种方式。但是在此仍然要注意,异常的处理。定时器依旧是线程的方式来执行的 。

2.线程池方式,这种方式…

------解决方案--------------------
mark