国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Java多線程的其他知識_動力節點Java學院整理

Java多線程的其他知識_動力節點Java學院整理

2020-10-30 23:31動力節點 Java教程

這篇文章主要介紹了Java多線程的其他知識,需要的朋友可以參考下

一、線程組

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
/**
* A thread group represents a set of threads. In addition, a thread
* group can also include other thread groups. The thread groups form
* a tree in which every thread group except the initial thread group
* has a parent.
* <p>
* A thread is allowed to access information about its own thread
* group, but not to access information about its thread group's
* parent thread group or any other thread groups.
*
* @author unascribed
* @version 1.66, 03/13/08
* @since  JDK1.0
*/

一個線程組代表了一系列的線程。并且,一個線程組可以包括其他的線程組。除了初始線程組外,每個線程組都有一個父線程組,類似于樹的結構。

一個線程可以訪問它所在線程組的信息, 不可以訪問它父線程組和其他線程組的信息。

 從這段話中可以大概明白線程組的概念,所有的線程和線程組構成一個樹的結構,如下:

Java多線程的其他知識_動力節點Java學院整理

查看Thread的API,可以看到,創建一個線程可以指定它的線程組和不指定線程組。如果指定其所屬的線程組,那么該線程組是創建它的線程所屬線程組的子線程組。如果不指定線程組,則屬于默認情況,該線程和創建它的線程在同一個線程組。

以上面的圖舉個簡單的例子:

如果main線程創建了Thread1線程,沒有指定Thread1所在的線程組,那么Thread1就默認和main線程屬于同一個線程組,即系統線程組。

如果main線程創建了Thread3線程,沒指定Thread3所在的線程組為線程組1,那么線程組1就屬于系統線程組,和main線程在樹結構中平級。

一旦某個線程加入了指定線程組之后,該線程將一直屬于該線程組,直到該線程死亡,線程運行中途不能改變它所屬的線程組。因為指定線程所在線程組是在創建線程的視乎完成的,所以之后不能再修改它所在的線程組。

下面是ThreadGroup的方法摘要

Java多線程的其他知識_動力節點Java學院整理

Java多線程的其他知識_動力節點Java學院整理

Java多線程的其他知識_動力節點Java學院整理

二、線程組與未處理的異常

從JDK1.5開始,Java加強了線程的異常處理,如果線程執行過程中拋出了一個未處理的異常,JVM在結束該線程之前會自動查找是否有對應的Thread.UncaughtExceptionHandler對象,如果找到該處理器對象,將會調用該對象的uncaughtException(Thread t,Throwable e)方法來處理該異常。

Thread.UncaughtExceptionHandler是Thread類的一個內部公共靜態接口,該接口內只有一個方法:

void uncaughtException(Thread t,Throwable t),該方法中的t代表出現異常的線程,而e代表該線程拋出的異常。

Thread類提供了兩個方法來設置異常處理器:

?
1
public static void setDefaultUncaughtExceptionHandler(UncaughtExceptionHandler eh)

線程類的所有線程實例設置默認的異常處理器

?
1
public void setUncaughtExceptionHandler(UncaughtExceptionHandler eh)

為指定線程的實例設置異常處理器

ThreadGroup類實現了Thread.UncaughtExceptionHandler接口,所以每個線程所屬的線程組將會作為默認的異常處理器。當一個線程拋出未處理的異常時,JVM會首先查找該異常對應的異常處理器(setUncaughtExceptionHandler方法設置的異常處理器),如果找到該異常處理器,將調用該異常處理器處理該異常,否則,JVM將會調用該線程所屬的線程組對象的uncaughtException方法來處理該異常,線程組處理異常的流程如下:

1)、如果該線程組有父線程組,則調用父線程組的uncaughtException方法來處理該異常

2)、否則,如果該線程實例所屬的線程類有默認的異常處理器(由setDefaultUncaughtExceptionHandler方法設置的異常處理器),那么就調用該異常處理器來處理該異常

3)、否則,將異常調試棧的信息打印到System.err錯誤輸出流,并結束該線程。

看下面的例子:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
class MyHandler implements Thread.UncaughtExceptionHandler{
  @Override
  public void uncaughtException(Thread t, Throwable e) {
    System.out.println("出現了異常");
    e.printStackTrace();
  }
}
public class Test{
  public static void main(String[] args) {
    Thread.currentThread().setUncaughtExceptionHandler(new MyHandler());
    int a=1/0;
  }
}

在主線程中設置了異常處理器,最后捕獲了異常。

以上所述是小編給大家介紹的Java多線程的其他知識_動力節點Java學院整理,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 日韩看片 | 91久久久久久久 | 国产一区精品视频 | 亚洲国产精品成人 | 一级在线 | 国产免费色 | 一级电影毛片 | 国产成人欧美一区二区三区的 | 国产成人在线看 | 国产精品免费看 | 久久九九精品视频 | 亚洲一区二区在线视频 | 久久高清 | 久久精品国产99国产 | 国产精品一区二区久久 | 黄视频免费观看 | 久久久极品 | 久久久久久毛片免费看 | 久久成人国产精品 | av毛片免费看 | 成人高清视频在线观看 | 精品国产免费久久久久久尖叫 | 一区二区毛片 | 亚洲精品一区二区三区在线观看 | 一本大道久久a久久精品综合1 | 亚洲国产成人av好男人在线观看 | 亚洲欧美日韩精品久久亚洲区 | 久久久久国产精品www | 欧美成人a | 免费看亚洲| 亚洲欧美一区二区视频 | 亚洲国产日韩欧美在线 | 国产精品成人av | 一区二区在线免费观看 | 99精品国产一区二区青青牛奶 | 黄色毛片网站在线观看 | 日本一区二区三区免费观看 | 精品第一页 | 国产麻豆精品 | 五月激情综合网 | 综合精品久久久 |