Java執行緒組

2021-08-10 05:12:31 字數 1736 閱讀 1491

前面已經提過了關於執行緒池的一些常用方法。現在著重說一下threadgroup

執行緒組表示乙個執行緒的集合,此外執行緒組也可以包含其他執行緒組。執行緒組構成一棵樹,在樹中 除了初始執行緒組外,每個執行緒組都有乙個父執行緒組。

執行緒組的構造方法:

threadgroup(string name)

threadgroup(threadgroup parent,string name)

常用的方法如下:

activecount():返回此執行緒組中活動執行緒的估計數

activegroupcount():返回此執行緒組中活動執行緒組的估計數

enumerate(thread list):把此執行緒組及其子組中的所有活動執行緒複製到指定陣列中

用法舉例:

int

count=threadgroup.activecount();

thread t=new thread[count];

threadgroup.enumerate(t);

若需要遍歷該資料:

for(thread thread:t)

執行緒組比執行緒池的優勢是可以了解執行緒的執**況;而執行緒池比執行緒組的優勢是對執行緒的管理。執行緒組的弊端是需要不斷地建立執行緒 會增加記憶體開銷

public

static

void

main(string args) throws interruptedexception

}@override

public

void

run()

}}

執行結果:

//將thread.sleep注釋

執行緒名字:thread-0 2

活躍執行緒數:4

執行緒名字:thread-0 1

活躍執行緒組數:0

活躍執行緒名稱:thread-0

活躍執行緒名稱:thread-1

執行緒名字:thread-0 0

活躍執行緒名稱:thread-2

活躍執行緒名稱:thread-3

執行緒名字:thread-1 2

執行緒名字:thread-1 1

執行緒名字:thread-1 0

執行緒名字:thread-2 2

執行緒名字:thread-2 1

執行緒名字:thread-2 0

執行緒名字:thread-3 2

執行緒名字:thread-3 1

執行緒名字:thread-3 0

將thread.sleep(2000)這段**放開,執行結果:

執行緒名字:thread-0 2

執行緒名字:thread-0 1

執行緒名字:thread-0 0

執行緒名字:thread-1 2

執行緒名字:thread-1 1

執行緒名字:thread-1 0

執行緒名字:thread-3 2

執行緒名字:thread-3 1

執行緒名字:thread-3 0

執行緒名字:thread-2 2

執行緒名字:thread-2 1

執行緒名字:thread-2 0

活躍執行緒數:0

活躍執行緒組數:0

以上,若有什麼錯誤,請指出 謝謝!

java中線程的管理以及執行緒組的實現運用構造心得

前言,在支付系統專案中,運用了一些多執行緒的任務,現在此記錄學習一下,以備以後運用到,同時自己也理一下邏輯思想。在專案中有這樣幾個需求,需要接受專案組中上游專案傳送過來的資料請求,請求包括了支付,同步,餘額,明細大體四個分支。在專案中因為上游是通過傳送特定的json字串,用http的請求,向我們的專...

Java學習心得 執行緒組異常處理流程

學了一段時間執行緒和並行api,這裡有一點心得,來和大家分享一下。比較不好理解的就是執行緒組丟擲異常並且此異常並沒有 獲的處理流程,主要分為三個步驟 1 首先看看當前執行緒組 threadgroup 有沒有父類的執行緒組,如果有,則使用父類的uncaughtexception 方法。2 如果沒有,就...

Jmeter 執行緒組

執行緒數 就是需要設定多少執行緒執行測試。ramp up period in seconds 用於告知jmeter 要在多長時間內建立全部的執行緒。預設值是0。如果未指定ramp up period 也就是說ramp up period 為零,jmeter 將立即建立所有執行緒。假設ramp up ...