真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Java中ThreadGroup的原理和使用方法

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

10年積累的網(wǎng)站制作、成都網(wǎng)站建設(shè)經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先制作網(wǎng)站后付款的網(wǎng)站建設(shè)流程,更有郟縣免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

1. 引子

Thread類有多個構(gòu)造函數(shù),其中一個如下:

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

傳入一個ThreadGroup參數(shù),表示當(dāng)前線程所屬的線程組。源碼中上面的init最終實現(xiàn)如下:

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

可知:如果沒有設(shè)置這個線程組,那么創(chuàng)建的線程的線程組即為其父線程的線程組,也就是當(dāng)前線程。如果當(dāng)前線程是main線程,main線程的group名字也叫main,那么在main方法中創(chuàng)建的新線程的group也是main。本文就ThreadGroup類進(jìn)行學(xué)習(xí)。

2. 創(chuàng)建ThreadGroup

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

ThreadGroup類的構(gòu)造函數(shù)有:

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

構(gòu)造函數(shù)可以指定當(dāng)前創(chuàng)建的線程組的父線程組,如果沒有指定就指定當(dāng)前線程的線程組作為新創(chuàng)建的線程組的父線程組。

下面是一個demo進(jìn)行驗證,結(jié)果打印為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復(fù)制

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

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

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

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

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

recurse意思也是表示是否進(jìn)行遞歸和拷貝。

3. 總結(jié)

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

到此,相信大家對“Java中ThreadGroup的原理和使用方法”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!


新聞名稱:Java中ThreadGroup的原理和使用方法
網(wǎng)站網(wǎng)址:http://weahome.cn/article/ijscee.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部