中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java中ThreadGroup的原理和使用方法

發布時間:2021-06-26 09:38:30 來源:億速云 閱讀:211 作者:chen 欄目:大數據

本篇內容主要講解“Java中ThreadGroup的原理和使用方法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Java中ThreadGroup的原理和使用方法”吧!

1. 引子

Thread類有多個構造函數,其中一個如下:

public Thread(ThreadGroup group, String name) {
  init(group, null, name, 0);
}

傳入一個ThreadGroup參數,表示當前線程所屬的線程組。源碼中上面的init最終實現如下:

private void init(ThreadGroup g, Runnable target, String name,
                  long stackSize, AccessControlContext acc,
                  boolean inheritThreadLocals) {
  ......
    if (g == null) {
      g = parent.getThreadGroup();
    }
}

可知:如果沒有設置這個線程組,那么創建的線程的線程組即為其父線程的線程組,也就是當前線程。如果當前線程是main線程,main線程的group名字也叫main,那么在main方法中創建的新線程的group也是main。本文就ThreadGroup類進行學習。

2. 創建ThreadGroup

線程有父子之稱,線程組也有父子之稱。

ThreadGroup類的構造函數有:

public ThreadGroup(ThreadGroup parent, String name);
public ThreadGroup(String name) {
    this(Thread.currentThread().getThreadGroup(), name);
}

構造函數可以指定當前創建的線程組的父線程組,如果沒有指定就指定當前線程的線程組作為新創建的線程組的父線程組。

下面是一個demo進行驗證,結果打印為true。

public static void main(String[] args) throws Exception {

  ThreadGroup threadGroup = Thread.currentThread().getThreadGroup();

  ThreadGroup threadGroup1 = new ThreadGroup("threadGroup1");

  System.out.println(threadGroup1.getParent() == threadGroup);

}

2. ThreadGroup復制

一個線程組中可以添加多個線程和子線程組,可以使用其復制方法,復制出這些線程和線程組:

public int enumerate(Thread list[]);
public int enumerate(Thread list[], boolean recurse);

參數recurse為true表示遞歸將所有子線程組中的線程也拷貝到數組中,如果沒有這個參數,默認就是true。

除了拷貝線程組中的線程以外,還可拷貝線程組中的子線程組:

public int enumerate(ThreadGroup list[]);
public int enumerate(ThreadGroup list[], boolean recurse);

recurse意思也是表示是否進行遞歸和拷貝。

3. 總結

線程組不是用來管理線程的,而是針對線程的一次組織。

到此,相信大家對“Java中ThreadGroup的原理和使用方法”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

瑞金市| 巴南区| 板桥市| 绥阳县| 潜江市| 玛曲县| 平谷区| 乌兰县| 巨鹿县| 十堰市| 同心县| 永安市| 烟台市| 衡南县| 得荣县| 商都县| 辽宁省| 开封市| 夹江县| 永新县| 湖南省| 渝北区| 永修县| 丰顺县| 景洪市| 南投县| 玉龙| 刚察县| 舞阳县| 鄄城县| 舟山市| 太和县| 新源县| 来宾市| 正蓝旗| 郓城县| 巴马| 锦州市| 双牌县| 毕节市| 清涧县|