| 
  class Main {
 public static void main(String[] args) throws Exception {
 ThreadGroup tg = Thread.currentThread().getThreadGroup();
 
 MyThread mt1 = new MyThread(tg, "first");
 MyThread mt2 = new MyThread(tg, "second");
 
 mt1.start();
 mt2.start();
 
 ThreadGroup parent = tg.getParent();
 Thread[] list = new Thread[parent.activeCount()];
 int count = parent.enumerate(list, true);
 String[] thdinfo = new String[count];
 for (int i = 0; i < count; i++)
 thdinfo[i] = list[i].toString();
 
 mt1.join();
 mt2.join();
 
 for (int i = 0; i < count; i++)
 System.out.println(thdinfo[i]);
 }
 }
 
 class MyThread extends Thread {
 MyThread(ThreadGroup tg, String name) {
 super(tg, name);
 }
 
 public void run() {
 for (char c = 'A'; c <= 'Z'; c++)
 System.out.println(c);
 
 try {
 Thread.sleep(1000);
 } catch (InterruptedException e) {
 }
 }
 }
 
 
 
 
 |