ThreadGroup - 1

– Szia Amigo!

– Elkezdjük a szálak alaposabb feltárását.

"A szálcsoport fogalmát azért vezették be, hogy megakadályozzák, hogy egy szál ismételten leálljon és megszakítsa az összes többi szálat. Egy szál csak az ugyanabban a szálcsoportban lévő többi szálat érinthet. A ThreadGroup egy osztály a szálcsoportok kezelésére. Ez a megközelítés lehetővé teszi a szálak védelmét a nem kívánt változásoktól."

"Néha olyan kódot kell futtatnia, amelyben nem tud teljesen megbízni. Így kényelmes, ha az összes szálat külön csoportba helyezi, és megakadályozza, hogy zavarják a fő szálcsoport munkáját."

"Egy szálcsoport más csoportokat is tartalmazhat. Ez lehetővé teszi, hogy az összes szálat és csoportot hierarchikus fába rendezze. Egy ilyen fában minden szálcsoportnak (a kezdeti csoport kivételével) saját szülője van."

"A ThreadGroup osztálynak vannak olyan metódusai, amelyek lehetővé teszik az összes szál listájának lekérését és azok befolyásolását/módosítását. Ha új szálat hozunk létre anélkül, hogy kifejezetten meghatároznánk a csoportot, az ugyanahhoz a csoporthoz csatlakozik, mint a létrehozó szál."

"Íme néhány metódus a ThreadGroup osztályban:"

Módszer Leírás
String getName()
Visszaadja a csoport nevét
ThreadGroup getParent()
Visszaadja a szülőcsoportot
void interrupt()
Megszakítja a csoport összes szálát.
boolean isDaemon()
Ellenőrzi, hogy a csoport démon-e
void setDaemon(boolean daemon)
Beállítja a csoport démon tulajdonságát
int activeCount()
A csoportban és alcsoportjaiban lévő élő szálak számát adja vissza
int activeGroupCount()
A csoportban és alcsoportjaiban lévő élő csoportok számát adja vissza
int enumerate(Thread[] list)
Az összes élő szálat a tömbbe helyezi, és visszaadja azok számát.
int getMaxPriority()
A csoportban lévő szálak maximális prioritását adja vissza.
void setMaxPriority(int priority)
Lehetővé teszi a szálak maximális prioritásának beállítását a csoportban és az alcsoportokban.