ThreadGroup - 1

"Ciao, Amico!"

"Inizieremo un'esplorazione più approfondita dei thread."

"Il concetto di gruppo di thread è stato introdotto per impedire a un thread di interrompere e interrompere ripetutamente ogni altro thread. Un thread può influenzare solo altri thread nello stesso gruppo di thread. ThreadGroup è una classe per la gestione dei gruppi di thread. Questo approccio consente di proteggere i thread da modifiche indesiderate."

"A volte devi eseguire codice di cui non ti puoi fidare completamente. Quindi è conveniente mettere tutti i suoi thread in un gruppo separato e impedire loro di interferire con il lavoro del gruppo di thread principale."

"Un gruppo di thread può contenere altri gruppi. Ciò ti consente di organizzare tutti i tuoi thread e gruppi in un albero gerarchico. In tale albero, ogni gruppo di thread (tranne il gruppo iniziale) ha il proprio genitore."

"La classe ThreadGroup ha metodi che ti consentono di ottenere elenchi di tutti i thread e influenzarli/modificarli. Quando creiamo un nuovo thread senza specificare esplicitamente un gruppo, si unisce allo stesso gruppo del thread creatore."

"Ecco alcuni dei metodi nella classe ThreadGroup:"

Metodo Descrizione
String getName()
Restituisce il nome del gruppo
ThreadGroup getParent()
Restituisce il gruppo padre
void interrupt()
Interrompe tutti i thread nel gruppo.
boolean isDaemon()
Controlla se il gruppo è un demone
void setDaemon(boolean daemon)
Imposta la proprietà daemon del gruppo
int activeCount()
Restituisce il numero di thread attivi nel gruppo e nei relativi sottogruppi
int activeGroupCount()
Restituisce il numero di gruppi live nel gruppo e nei relativi sottogruppi
int enumerate(Thread[] list)
Inserisce tutti i thread attivi nell'array e ne restituisce il numero.
int getMaxPriority()
Restituisce la priorità massima per i thread nel gruppo.
void setMaxPriority(int priority)
Consente di impostare la priorità massima dei thread nel gruppo e nei sottogruppi.