Философия Java


Управление группами процессов - часть 2


for (int i = 0; i < 5; i++) new Thread(g2, Integer.toString(i)); // Show information about all threadgroups

// and threads:

sys.list(); // (10)

System.out.println("Starting all threads:"); Thread[] all = new Thread[sys.activeCount()]; sys.enumerate(all); for(int i = 0; i < all.length; i++) if(!all[i].isAlive()) all[i].start(); // Suspends & Stops all threads in

// this group and its subgroups:

System.out.println("All threads started"); sys.suspend(); // Deprecated in Java 2

// Never gets here...

System.out.println("All threads suspended"); sys.stop(); // Deprecated in Java 2

System.out.println("All threads stopped"); } } ///:~

Результат работы программы, представленный ниже, был отредактирован, чтобы уместиться на странице (java.lang. удалено), а также добавлены цифры, чтобы ссылаться на закомментированные цифры по тексту программы приведенной выше.

(1) ThreadGroup[name=system,maxpri=10]       Thread[main,5,system] (2) ThreadGroup[name=system,maxpri=9]       Thread[main,6,system] (3) ThreadGroup[name=g1,maxpri=9]       Thread[A,9,g1] (4) ThreadGroup[name=g1,maxpri=8]       Thread[A,9,g1] (5) ThreadGroup[name=g1,maxpri=8]       Thread[A,9,g1]       Thread[B,8,g1] (6) ThreadGroup[name=g1,maxpri=3]       Thread[A,9,g1]       Thread[B,8,g1]       Thread[C,6,g1] (7) ThreadGroup[name=g1,maxpri=3]       Thread[A,9,g1]       Thread[B,8,g1]       Thread[C,3,g1] (8) ThreadGroup[name=g2,maxpri=3] (9) ThreadGroup[name=g2,maxpri=3] (10)ThreadGroup[name=system,maxpri=9]       Thread[main,6,system]       ThreadGroup[name=g1,maxpri=3]         Thread[A,9,g1]         Thread[B,8,g1]         Thread[C,3,g1]         ThreadGroup[name=g2,maxpri=3]           Thread[0,6,g2]           Thread[1,6,g2]           Thread[2,6,g2]           Thread[3,6,g2]           Thread[4,6,g2] Starting all threads: All threads started




Начало  Назад  Вперед