大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

Java多線程編程概述
Java多線程的安全問題
Java多線程同步
Java多線程間的通信
Java線程Lock
Java多線程管理
保障線程安全的設(shè)計技術(shù)
Java鎖的優(yōu)化及注意事項
Java多線程集合
【Java多線程】單例模式與多線程

Java多線程捕獲異常處理

在線程的run方法中,如果有受檢異常必須進(jìn)行捕獲處理,如果想要獲得run()方法中出現(xiàn)的運行時異常信息,可以通過回調(diào)UncaughtExceptionHandler接口獲得哪個線程出現(xiàn)了運行時異常,在Thread類中有關(guān)處理運行異常的方法有:

getDefaultUncaughtExceptionHandler() 獲得全局的(默認(rèn)的)UncaughtExceptionHandler。

getUncaughtExceptionHandler() 獲得當(dāng)前線程的UncaughtExceptionHandler。

setDefaultUncaughtExceptionHandler(Thread.UncaughtExceptionHandler eh) 設(shè)置全局的UncaughtExceptionHandler。

setUncaughtExceptionHandler(Thread.UncaughtExceptionHandler eh) 設(shè)置當(dāng)前線程的UncaughtExceptionHandler。

當(dāng)線程運行過程中出現(xiàn)異常,JVM會調(diào)用Thread類的dispatchUncaughtException(Throwable e)方法, 該方法會調(diào)用getUncaughtExceptionHandler().uncaughtException(this, e); 如果想要獲得線程中出現(xiàn)異常的信息,就需要設(shè)置線程的UncaughtExceptionHandler。

package com.wkcto.threadexception;

import java.io.FileInputStream;

/**
 * 演示設(shè)置線程的UnCaughtExceptionHandler回調(diào)接口
*/
public class Test01 {
    public static void main(String[] args) {
        //1)設(shè)置線程全局的回調(diào)接口
        Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
            @Override
            public void uncaughtException(Thread t, Throwable e) {
                //t參數(shù)接收發(fā)生異常的線程, e就是該線程中的異常
                System.out.println(t.getName() + "線程產(chǎn)生了異常: " + e.getMessage());
            }
        });

        Thread t1 = new Thread(new Runnable() {
            @Override
            public void run() {
                System.out.println(Thread.currentThread().getName() + "開始運行");
                try {
                    Thread.sleep(2000);
                } catch (InterruptedException e) {
                    //線程中的受檢異常必須捕獲處理
                    e.printStackTrace();
                }
                System.out.println(12 / 0 );    //會產(chǎn)生算術(shù)異常

            }
        });
        t1.start();

        new Thread(new Runnable() {
            @Override
            public void run() {
                String txt = null;
                System.out.println( txt.length());  //會產(chǎn)生空指針異常
            }
        }).start();

        /*
            在實際開發(fā)中,這種設(shè)計異常處理的方式還是比較常用的,尤其是異常執(zhí)行的方法
            如果線程產(chǎn)生了異常, JVM會調(diào)用dispatchUncaughtException()方法,在該方法中調(diào)用了getUncaughtExceptionHandler().uncaughtException(this, e); 如果當(dāng)前線程設(shè)置了UncaughtExceptionHandler回調(diào)接口就直接調(diào)用它自己的uncaughtException方法, 如果沒有設(shè)置則調(diào)用當(dāng)前線程所在線程組UncaughtExceptionHandler回調(diào)接口的uncaughtException方法,如果線程組也沒有設(shè)置回調(diào)接口,則直接把異常的棧信息定向到System.err中
         */
    }
}
全部教程
主站蜘蛛池模板: 欧美高清国产 | 久久久一本 | 国产精品 色 | 国产一区二区三区不卡在线观看 | 国产极品粉嫩福利在线观看 | 国产伦理久久精品久久久久 | h在线观看免费 | 日本欧美一二三区色视频 | 成人免费aa在线观看 | 国产精品www| 日本精品视频在线观看 | 天天干天天干天天天天天天爽 | 亚洲一区二区在线 | 97最新网址 | 久草热在线观看 | 国产激情 | 中文字幕日韩哦哦哦 | 天天干夜夜操美女 | 日日摸夜夜添夜夜添97 | 玖玖中文字幕 | 天天看片日日夜夜 | 亚州国产 | 国产亚洲精品久久久久久久软件 | 日本xoxo在线观看免费 | 99精品久久久久久久免费看蜜月 | 久久香蕉精品 | 狠狠干夜夜操 | 免费观看黄a一级视频日本 免费观看黄色 | 99在线小视频| 欧美日韩不卡在线 | 91精品国产亚一区二区三区 | 日本精品久久久一区二区三区 | 日韩欧美一中字暮 | 久久艹在线观看 | 91福利在线免费观看 | 四虎黄色影院 | 亚洲国产成人精品一区91 | 国产高清不卡一区二区 | 欧美一欧美一区二三区性 | 久久99热在线观看7 久久99热这里只有精品 | 色人阁婷婷 |