java线程问题

zhangjian420 2012-03-29 12:25:13
现在有这样一个需求,线程A间隔5秒执行一次,可是不知道什么情况线程A无缘无故就死了,假如这样现象已经发生了,现在就是要弄一种方案,如果线程A无缘无故死了,可以重新启动线程A。

我的思路是在搞一个线程B,来定时执行监测线程A的状态,看A是否还在运行,如果没有运行,在B中启动线程A。可是如果在线程B中拿到线程A的状态。这个我不知道啦!

网上还有一种方案是搞线程池。不是太懂,希望大虾们给点意见。
...全文
142 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qybao 2012-03-29
  • 打赏
  • 举报
回复
Thread的getState()方法可以返回线程的状态
LZ可以自己查看javadoc
Thread.State.NEW 至今尚未启动的线程处于这种状态。
Thread.State.RUNNABLE 正在 Java 虚拟机中执行的线程处于这种状态。
Thread.State.BLOCKED 受阻塞并等待某个监视器锁的线程处于这种状态。
Thread.State.WAITING 无限期地等待另一个线程来执行某一特定操作的线程处于这种状态。
Thread.State.TIMED_WAITING 等待另一个线程来执行取决于指定等待时间的操作的线程处于这种状态。
Thread.State.TERMINATED 已退出的线程处于这种状态。
MiceRice 2012-03-29
  • 打赏
  • 举报
回复
死了是个啥概念,是卡住不动了,还是线程结束了?
li72li72 2012-03-29
  • 打赏
  • 举报
回复
ExecutorService threadPool = Executors.newFixedThreadPool(1);
会保持有线程的
dryZeng 2012-03-29
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

Thread的getState()方法可以返回线程的状态
LZ可以自己查看javadoc
Thread.State.NEW 至今尚未启动的线程处于这种状态。
Thread.State.RUNNABLE 正在 Java 虚拟机中执行的线程处于这种状态。
Thread.State.BLOCKED 受阻塞并等待某个监视器锁的线程处于这种状态。
Thread.State.WAITING ……
[/Quote]

够全。

81,090

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧