我正在學(xué)習(xí)多線程的概念,我試圖查找數(shù)組中的活動線程數(shù),但ThreadGroup.activeCount()方法僅返回零值。這是代碼:線程對象類:-class th1 extends Thread{ public th1(String threadName, ThreadGroup tg1) { super(tg1, threadName); } @Override public void run() { try { Thread.sleep(5000); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println(Thread.currentThread().getName() + " is running"); }}主要課程:-public class enumerate_demo { public static void main(String[] args) { ThreadGroup tg1 = new ThreadGroup("group 1"); Thread t1 = new Thread(new th1("t-1", tg1)); t1.start(); Thread t2 = new Thread(new th1("t-2", tg1)); t2.start(); Thread t3 = new Thread(new th1("t-3", tg1)); t3.start(); System.out.println("Number of active count :- " + tg1.activeCount()); Thread[] group = new Thread[tg1.activeCount()]; int count = tg1.enumerate(group); for (int i = 0; i < count; i++) { System.out.println("Thread " + group[i].getName()); } }}
1 回答

慕斯王
TA貢獻1864條經(jīng)驗 獲得超2個贊
問題是,在創(chuàng)建實例th1
類時,您將它們用作Runnable
與Thread
. 這些包裝線程不與任何ThreadGroup
. 聲明變量如下。
Thread t1 = new th1("t-1", tg1); t1.start();
添加回答
舉報
0/150
提交
取消