测试demo:
public class Test {
static class MyThread extends Thread {
private String number;
public MyThread(ThreadGroup group, String name, String number) {
super(group, name);
this.number = number;
}
@Override
public void run() {
//这步类型转换是要故意制造异常
int num = Integer.parseInt(number);
while (true) {
System.out.println(Thread.currentThread().getName() + "正在运行");
}
}
}
public static void main(String[] args) {
ThreadGroup threadGroup = new ThreadGroup("我的线程组");
//制造一个异常线程
new MyThread(threadGroup, "异常线程", "a").start();
for (int i = 1; i <= 3; i++) {
new MyThread(threadGroup, "线程" + i, "6").start();
}
}
}
运行结果如下:
从运行结果可以发现,即使抛出了类型转换异常,同一线程组内的其他线程一样能够成功运行。
总结
同一线程组下的线程,一个线程出现异常不会影响其他线程的运行。