Найти тему
DEBAGanov

Java 1022. Что такое ThreadGroup и зачем он нужен?

ThreadGroup в Java - это класс, который предоставляет удобный способ управления группами потоков в JVM. ThreadGroup используется для организации потоков в группы и позволяет управлять ими как единым целым. ThreadGroup предоставляет возможность проверять количество потоков в группе, приостанавливать и возобновлять выполнение потоков в группе и останавливать все потоки в группе одновременно.

ThreadGroup позволяет создать иерархическую структуру групп потоков. При создании новой группы потоков указывается родительская группа, которая создает связь между ними, образуя иерархическую структуру. Если поток не привязан к какой-либо группе, то он принадлежит к корневой группе, которая создается автоматически при запуске JVM.

Пример использования ThreadGroup:

ThreadGroup group = new ThreadGroup("MyGroup");

Thread thread1 = new Thread(group, new MyRunnable(), "Thread 1");
Thread thread2 = new Thread(group, new MyRunnable(), "Thread 2");

// Запуск потоков thread1.start();
thread2.start();

// Приостановка работы всех потоков в группе group.suspend();

// Возобновление работы всех потоков в группе group.resume();

// Завершение работы всех потоков в группе group.interrupt();

Мы создаем новую группу потоков с именем "MyGroup" и запускаем два потока, каждый привязывая к этой группе. Мы можем приостановить, возобновить или прервать выполнение всех потоков в группе одновременно с помощью методов suspend(), resume(), interrupt(), соответственно.

1606 вопрос-ответ по Java: https://github.com/DEBAGanov/interview_questions

Tелеграмм канал: https://t.me/DEBAGanov

Мое резюме: https://github.com/DEBAGanov