多线程复习笔记之四【多线程中的异常】

本文探讨了多线程环境中异常处理的特点。当一个线程出现异常时,它不会直接影响其他线程的执行。通常,如果线程组中有线程报错,其他线程会继续运行。然而,如果在run方法中添加了异常捕获(catch语句),公共的void uncaughtException(Thread t, Throwable e)方法将不会被调用,导致线程可能不会被终止。" 114541584,10538697,Java代码编译与执行机制详解,"['Java编译', 'JVM', '类加载', '执行机制']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在一个线程组中如果其中一个线程执行报错并不影响其他线程的继续执行,例如:

package com.fyw.thread.lock.exception;

public class MyThread extends Thread {

	private String num;

	public MyThread(ThreadGroup group,String name,String num) {
		super(group,name);
		this.num = num;
	}

	@Override
	public void run() {
		int numInt = Integer.parseInt(num);
		while(true){
			try {
				Thread.sleep(100);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
			System.out.println("死循环执行中:"+Thread.currentThread().getName());
		}
	}
	
	
}
package com.fyw.thread.lock.exception;

public class Run {

	public static void main(String[] args) {
		ThreadGroup group = new ThreadGroup("自定义线程组");
		MyThread[] myThread = new MyThread[10];
		for(int i=0;i<myThread.length;i++){
			myThread[i] = new MyThread(group,"线程"+(i+1),"1");
			myThread[i].start();
		}
		MyThread newT = new MyT
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值