规则1 指定线程名 用于查看线程信息
规则2 使用Thread对象的setUncaughtExceptionHandler方法注册Runtime异常的处理者(v1.5+)
说明:Java多线程程序中,所有线程都不允许抛出未捕获的checked exception,也就是说各个线程需要自己把自己的checked exception处理掉。但是无法避免的是unchecked exception,也就是RuntimeException,当抛出异常时子线程会结束,但主线程不会知道,因为主线程通过try catch是无法捕获子线程异常的。Thread对象提供了setUncaughtExceptionHandler方法用来获取线程中产生的异常。而且建议使用Thread.setDefaultUncaughtExceptionHandler,为所有线程设置默认异常捕获方法。
规则3 建议使用线程池管理