Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Každé vlákno v Jave prechádza dobre definovaným životným cyklom. Životný cyklus vlákna má nasledujúce fázy:
1. Nové: Vlákno sa vytvorí v novom stave. Toto sa stane, keď vytvoríte nový objekt Thread a zavoláte jeho metódu start() alebo keď JVM interne vytvorí vlákno.
2. Spustiteľné: Po spustení vlákna prejde do spustiteľného stavu. Toto je miesto, kde vlákno môže spustiť svoj kód.
3. Čaká sa: Vlákno môže vstúpiť do stavu čakania, keď zavolá metódu ako wait(), sleep() alebo join(). V čakacom stave vlákno nebeží, ale môže byť prebudené iným vláknom.
4. Načasované čakanie: Vlákno môže tiež vstúpiť do stavu časovaného čakania, keď volá metódu ako wait(long), sleep(long) alebo join(long). V časovom stave čakania vlákno nebeží, ale po určitom čase sa automaticky prebudí.
5. Ukončené: Vlákno vstúpi do stavu ukončenia, keď dokončí svoje vykonávanie alebo keď ho zastaví iné vlákno. V ukončenom stave vlákno už nebeží a nedá sa reštartovať.
Tu je diagram životného cyklu vlákna:
[Obrázok životného cyklu vlákna](https://i.imgur.com/5HJlS.png)
Poznámky:
* Vlákno môže byť súčasne iba v jednom stave.
* Vlákno môže prechádzať z jedného stavu do druhého rôznymi spôsobmi. Napríklad vlákno môže prejsť zo stavu čakania do stavu čakania, keď zavolá metódu wait() a môže prejsť zo stavu čakania do stavu čakania, keď je upozornené iným vláknom.
* Vlákno môže byť ukončené iným vláknom, iba ak je v stave čakania alebo časovaného čakania.
* Vlákno sa po ukončení nedá reštartovať.