Grupo de tópicos - 1

"Olá, amigo!"

"Vamos começar uma exploração mais completa dos fios."

"O conceito de um grupo de encadeamentos foi introduzido para impedir que um encadeamento pare repetidamente e interrompa todos os outros encadeamentos. Um encadeamento só pode afetar outros encadeamentos no mesmo grupo de encadeamentos. ThreadGroup é uma classe para gerenciar grupos de encadeamentos. Essa abordagem permite proteger os encadeamentos de mudanças indesejadas."

"Às vezes, você precisa executar um código no qual não pode confiar totalmente. Portanto, é conveniente colocar todos os seus encadeamentos em um grupo separado e impedi-los de interferir no trabalho do grupo principal de encadeamentos."

"Um grupo de encadeamentos pode conter outros grupos. Isso permite que você organize todos os seus encadeamentos e grupos em uma árvore hierárquica. Nessa árvore, cada grupo de encadeamentos (exceto o grupo inicial) tem seu próprio pai."

"A classe ThreadGroup tem métodos que permitem obter listas de todos os threads e afetá-los/alterá-los. Quando criamos um novo thread sem especificar explicitamente um grupo, ele se junta ao mesmo grupo do thread criador."

"Aqui estão alguns dos métodos da classe ThreadGroup:"

Método Descrição
String getName()
Retorna o nome do grupo
ThreadGroup getParent()
Retorna o grupo pai
void interrupt()
Interrompe todos os threads no grupo.
boolean isDaemon()
Verifica se o grupo é um daemon
void setDaemon(boolean daemon)
Define a propriedade daemon do grupo
int activeCount()
Retorna o número de threads ativos no grupo e seus subgrupos
int activeGroupCount()
Retorna o número de grupos ao vivo no grupo e seus subgrupos
int enumerate(Thread[] list)
Coloca todos os threads ativos na matriz e retorna o número deles.
int getMaxPriority()
Retorna a prioridade máxima para threads no grupo.
void setMaxPriority(int priority)
Permite definir a prioridade máxima de threads no grupo e subgrupos.