Cum să opriți/omorâți firul Java care rulează îndelungat în timpul rulării? timed-out -> anulat -> stări întrerupte

Publicat: 2021-07-17

Cum să omorâți firul Java durând mai mult decât era de așteptat să se termine? expirare -> anulat -> stare întreruptă

V-ați întrebat vreodată cum să omorâți firul Java care rulează îndelung? Aveți vreo întrebare de mai jos?

  • Omorâți/Opriți un fir după o anumită perioadă de timp
  • Omorârea firului după o limită de timp specificată în Java
  • Cum să ucizi un fir Java
  • Cum să opriți un fir în Java cu un exemplu
  • cum să opriți firul în exemplu de cod java
  • cum să opriți un fir în java fără a utiliza metoda stop

Dacă aveți oricare dintre întrebările de mai jos, atunci sunteți în locul potrivit. Astăzi vom trece peste un exemplu simplu care demonstrează modalități Java8 de a ucide firele care rulează lung.

Ce este o logică:

  1. Creați clasa CrunchifyJavaTaskTimeout.java
  2. Creați un executor Java Thread cu o singură dimensiune de grup de fire.
  3. Creați 4 sarcini viitoare ale unui obiect CrunchifyRunner cu timeout de 3 secunde
  4. CrunchifyRunner.java este o clasă simplă care implementează metoda call()
    • Introduce o întârziere de 20 seconds dacă futureTask = 4
  5. Odată ce viitorul atinge 3 seconds , se creează o excepție de expirare dacă firul încă rulează
    • Odată ce a expirat, trebuie să anulăm sarcina folosind crunchifyFuture. cancel( true ) ;
    • Odată ce futureTask este anulat, acesta va declanșa InterruptedException (Arunsat atunci când un fir de execuție așteaptă, dorm sau este ocupat în alt mod, iar firul de execuție este întrerupt, fie înainte, fie în timpul activității. Ocazional, o metodă poate dori să testeze dacă firul curent a fost întrerupt, și dacă da, să aruncați imediat această excepție.)

Să începem:

Pasul 1 Creați clasa CrunchifyRunner.java

Pasul 2 Creați clasa CrunchifyJavaTaskTimeout.java

Pasul 3

Faceți clic dreapta pe CrunchifyJavaTaskTimeout.java și rulați-l ca aplicație Java.

Veți vedea mai jos rezultatul în consola Eclipse.

Cum să omorâți stopul firului java în timpul execuției

Anunțați-mă dacă aveți întrebări pe acest subiect.