JavaRush /Kurslar /All lectures for UZ purposes /ThreadGroup — потоклар гуруҳи

ThreadGroup — потоклар гуруҳи

All lectures for UZ purposes
Daraja, Dars
Mavjud
ThreadGroup — потоклар гуруҳи - 1

— Салом, Амиго!

Нархаларни жиддийроқ ўрганамиз.

Ҳар қандай поток барчасини тўхтатиб қўймаслиги учун, "потоклар гуруҳи" тушунчаси киритилган. Поток фақат ўз гуруҳига кирувчи бошқа потокларга таъсир ўтказа олади. ThreadGroup — потоклар гуруҳини бошқарувчи класс. Бу ёндашув потокларни номақбул ўзгаришлардан ҳимоя қилади.

Баъзан ишончсиз кўриниадиган кодни ишлатишга тўғри келади. Шу боис, унинг барча потокларини алоҳида гуруҳга жойлаштириш ва уларни асосий потоклар гуруҳига аралашишига йўл қўймаслик қулай.

Потоклар гуруҳи бошқа гуруҳларни ҳам ўз ичига олиши мумкин. Бу барча потоклар ва гуруҳларни иерархик дарахтда ташкил қилиш имконини беради. Бу дарахтда ҳар бир потоклар гуруҳи, бошланғичидан ташқари, ўз ота-гуруҳига эга.

ThreadGroup классида унинг барча потокларини олиш имконини берадиган методлар мавжуд, шунингдек уларга таъсир қилиш/ўзгартириш. Янгидан поток яратишда аниқ гуруҳни кўрсатмасак, у яратувчи поток билан бир гуруҳга киритилади.

Сенга ThreadGroup классининг бир нечта методлари:

Метод Тавсифи
String getName()
Гуруҳ номини қайтаради
ThreadGroup getParent()
Ота-гуруҳни қайтаради
void interrupt()
Гуруҳдаги барча потокларни тўхтатади.
boolean isDaemon()
Гуруҳ демонми ёки йўқлигини текширади
void setDaemon(boolean daemon)
Гуруҳнинг daemon хусусиятини қўяди
int activeCount()
Гуруҳ ва унинг қуйи гуруҳларидаги тирик потоклар сонини қайтаради
int activeGroupCount()
Гуруҳ ва унинг қуйи гуруҳларидаги тирик гуруҳлар сонини қайтаради
int enumerate(Thread[] list)
Барча тирик потокларни массивга жойлаштиради ва уларнинг сонини қайтаради.
int getMaxPriority()
Гуруҳдаги потоклар учун максимал устуворликни қайтаради.
void setMaxPriority(int priority)
Гуруҳ ва унинг қуйи гуруҳларидаги потоклар учун максимал устуворликни белгилаш имконини беради.
Izohlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION