线程属性与异常处理

线程属性与异常处理,第1张

线程属性与异常处理

1、线程属性

子线程会继承父线程的属性

 

        (1)线程ID,主要是Jvm使用的,是从1(主线程)开始递增的用于标记每一个线程。

        (2)守护线程和用户线程:当所有的用户线程运行结束时,JVM会退出,程序运行结束。守护线程不影响JVM的退出。

        (3)java线程的优先级有10个级别,默认是5,JVM会把java的优先级映射到 *** 作系统中,不同 *** 作系统的优先级数目不同,且优先级会被 *** 作系统改变,因此程序设计不依赖于优先级。

2、线程未捕获异常处理

(1)异常体系

 

a、Error:程序运行时系统的内部错误或资源耗尽

b、Exception:分为两大类:运行时异常和其他异常,运行时错误表示代码有问题导致程序的错误。将RunTimeException和Error统称为非受检查异常,其他为受检查异常,编译器要求必须对受检查异常进行处理或向外抛,而不会检查Error和RunTimeException。

(2)主线程中的try catch只能捕获主线程中的异常,无法捕获子线程中的异常

(3)UncaughtExceptionHandler源码

(4)利用uncaughtExceptionHaddler实现统一异常处理

 自定义全局的异常处理器:实现Thread.UncaughtExceptionHandler接口

 

将自定义的未捕捉异常处理器异常设置为全局的异常处理器:

 Thread.setDefaultUncaughtExceptionHandler();

 

运行结果:

 

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/4026805.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-10-22
下一篇 2022-10-22

发表评论

登录后才能评论

评论列表(0条)

保存