Ako urobíte, že vlákno zomrie v Jave?
Ako urobíte, že vlákno zomrie v Jave?

Video: Ako urobíte, že vlákno zomrie v Jave?

Video: Ako urobíte, že vlákno zomrie v Jave?
Video: 🌹 Красивая! Удобная! Практичная! Летняя женская кофточка спицами. Часть 1. 🌺 Размер 48-50 2024, November
Anonim

Všetky Niť s zomrieť buď návratom z volania metódy run alebo vyvolaním výnimky, ktorá sa šíri mimo metódy run.

Vlákna odumierajú v nasledujúcich situáciách:

  1. Keď metóda, ktorú beží, skončí (alebo hodí)
  2. Keď je proces ukončený.
  3. Keď je počítač vypnutý alebo resetovaný.

Vzhľadom na to, ktoré udalosti spôsobia odumretie vlákna?

A vlákno môže zomrieť dvoma spôsobmi: buď z prirodzeného príčin , alebo zabitím (zastavením). A závitové matrice prirodzene, keď sa jeho metóda run() normálne ukončí.

Podobne, čo je mŕtva niť? A niť je považovaný mŕtvy akonáhle jeho metóda run() dokončí vykonanie. Raz niť dokončí svoju metódu run() a mŕtvy , nemožno ho vrátiť späť niť exekúcie alebo dokonca do prevádzkyschopného stavu. Vyvolanie metódy start() na a mŕtve vlákno spôsobí výnimku runtime.

Čo sa týka tohto, ako zabijete vlákno v Jave?

Neexistuje žiadny spôsob, ako elegantne zabiť a niť . Vo všeobecnosti nie zabiť , zastaviť alebo prerušiť a niť (alebo skontrolujte, či je prerušený()), ale nechajte to ukončiť prirodzene. Je to jednoduché. Na ovládanie môžete použiť ľubovoľnú slučku spolu s (volatilnou) booleovskou premennou v metóde run(). vlákna činnosť.

Ako zastavíte vlákno?

Moderné spôsoby pozastavenia/ zastaviť vlákno sú pomocou booleovskej vlajky a Niť . metóda interrupt(). Použitie boolovského príznaku: Môžeme definovať boolovskú premennú, na ktorú sa používa zastavenie /zabíjanie vlákna povedzte „exit“. Kedykoľvek chceme zastaviť vlákno , premenná 'exit' bude nastavená na hodnotu true.

Odporúča: