Jak uděláte, že vlákno zemře v Javě?
Jak uděláte, že vlákno zemře v Javě?

Video: Jak uděláte, že vlákno zemře v Javě?

Video: Jak uděláte, že vlákno zemře v Javě?
Video: Karel May - SUPOVÉ MEXIKA I - 08. Jumský skalp - 4. část 2024, Listopad
Anonim

Všechno Vlákno s zemřít buď návratem z volání metody run nebo vyvoláním výjimky, která se šíří za metodu run.

Vlákna zemřou v následujících situacích:

  1. Když metoda, kterou běží, skončí (nebo hodí)
  2. Když je proces ukončen.
  3. Když je počítač vypnutý nebo resetovaný.

Vzhledem k tomu, které události způsobí zánik vlákna?

A vlákno může zemřít dvěma způsoby: buď z přirozeného příčiny , nebo zabitím (zastavením). A závitové závity přirozeně, když se jeho metoda run() normálně ukončí.

Podobně, co je mrtvé vlákno? A vlákno je považován mrtví jakmile jeho metoda run() dokončí provádění. Jednou vlákno dokončí svou metodu run() a mrtví , nelze jej vrátit zpět vlákno provedení nebo dokonce do provozuschopného stavu. Vyvolání metody start() na a mrtvé vlákno způsobí výjimku za běhu.

Pokud jde o toto, jak zabijete vlákno v Javě?

Neexistuje žádný způsob, jak elegantně zabít A vlákno . Obecně ne zabít , zastavit nebo přerušit a vlákno (nebo zkontrolujte, zda je přerušeno()), ale nechte to vypovědět přirozeně. Je to jednoduché. K řízení můžete použít libovolnou smyčku spolu s (volatilní) booleovskou proměnnou uvnitř metody run(). vlákna aktivita.

Jak zastavíte vlákno?

Moderní způsoby pozastavení/ zastavit vlákno jsou pomocí booleovského příznaku a Vlákno . metoda přerušení(). Použití booleovského příznaku: Můžeme definovat booleovskou proměnnou, pro kterou se používá zastavení /zabíjení vlákna řekněte 'exit'. Kdykoli budeme chtít zastavit vlákno , proměnná 'exit' bude nastavena na hodnotu true.

Doporučuje: