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

怎么判断一个线程是不是正常终止的
我的意思是
在某个线程中我捕获了一些异常,怎么在该线程结束后判断该线程是不是正常结束的呢。
PS:你可能不知道是什么异常,反正线程是结束了。
谢谢。

------解决方案--------------------
你可以加一个boolean变量,赋初值为false,在线程执行的最后一行代码将这个变量赋为true
try-catch整个run,finally输出这个变量
------解决方案--------------------
Java code

public void run(){
  try{
    //你要运行程序
  }catch(Exception e){
    //记录当前线程和异常信息。
  }
  }

------解决方案--------------------
没错啊,捕获异常后,执行处理,在处理代码中加入自己可以分析的代码不就行了?
------解决方案--------------------
捕获异常没有处理么?如果捕获了,添加相应处理的时候,你可以打印出相关信息嘛。
------解决方案--------------------
Thread.isInterrupted() - boolean

如果是true代表线程中断
如果是false代表没有中断

还有一个方法要区分这个就是 Thread.isAlive() - boolean

他们2个有很大的区别额 LZ看JDK咯 呵呵呵呵 自己动手丰衣足食
------解决方案--------------------
可以考虑写日志,不管是正常结束还是异常结束,都可以写日志里,这样容易跟踪。