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