前面已經提過了關於執行緒池的一些常用方法。現在著重說一下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 ...