多线程中处理线程泄漏
多线程中线程常常会因为抛出RuntimeException终止
?
考虑如下的场景:一个线程用来接收外部系统的输入(输入线程),当有输入时用调用notify()唤醒另一个输出线程,将输入内容转存到另个的系统里。
当输入线程因为RuntimeException异常退出时,输出线程就不会被唤醒。这样因为一个线程的死亡影响到其它线程的正常工作,甚至会影响到整个系统的动作。
?
好在java中提供了线程在抛出未捕捉异常时的处理机制UncaughtExceptionHandler
以下代码片断展示了如何在线程抛出未检查异常时重新启动一个新线程
另附上线程组的处理方法:http://www.ibm.com/developerworks/cn/java/j-jtp0924/
?