Hogyan lehet egy szálat elhalni Java-ban?
Hogyan lehet egy szálat elhalni Java-ban?

Videó: Hogyan lehet egy szálat elhalni Java-ban?

Videó: Hogyan lehet egy szálat elhalni Java-ban?
Videó: Code faster with #Tabnine AI assistant 2024, December
Anonim

Összes cérna s meghal vagy úgy, hogy a hívásból visszatér a run metódushoz, vagy dob egy kivételt, amely túlterjed a run metóduson.

A szálak a következő helyzetekben halnak meg:

  1. Amikor a futtatott metódus befejeződik (vagy dob)
  2. Amikor a folyamat befejeződik.
  3. Amikor a számítógépet kikapcsolják vagy alaphelyzetbe állítják.

Ha ezt figyelembe vesszük, mely események okozzák egy szál elhalását?

A cérna elhalhat kétféleképpen: vagy természetesből okoz , vagy azzal, hogy megölték (megállították). A cérna meghal természetesen, ha a run() metódusa normálisan kilép.

Hasonlóképpen, mi az a holtszál? A cérna tekinthető halott miután a run() metódus befejezte a végrehajtást. Egyszer a cérna befejezi a run() metódust és halott , azt nem lehet visszahozni cérna a végrehajtás vagy akár futtatható állapotba. A start() metódus meghívása a holt szál futásidejű kivételt okoz.

Ezzel kapcsolatban hogyan lehet megölni egy szálat Java-ban?

Nincs mód kecsesen megöl a cérna . Általában nem megöl , állítsa le vagy szakítsa meg a cérna (vagy ellenőrizze, hogy megszakad-e()), de hagyja befejezni természetesen. Ez egyszerű. A run() metóduson belül bármilyen ciklust használhat (volatile) logikai változóval együtt a vezérléshez szálak tevékenység.

Hogyan lehet leállítani egy szálat?

A felfüggesztés modern módjai/ állíts le egy szálat logikai zászlóval és cérna . interrupt() metódus. Logikai jelző használata: Meghatározhatunk egy logikai változót, amelyhez használjuk megállás /gyilkolás szálak mondd "kilépés". Amikor csak akarjuk állíts le egy szálat , az 'exit' változó igazra lesz állítva.

Ajánlott: