W programowaniu Java mogą wystąpić sytuacje, w których istnieje potrzeba zatrzymania/zakończenia wątku, zanim zakończy cykl życia. Na przykład usuwanie wątku z basen. W takich sytuacjach „
Nić stop ()„Funkcja w Javie jest bardzo pomocna w usprawnianiu wielozadaniowości na końcu programisty.
Ten artykuł zostanie rozwinięty na podstawie funkcji „wątek stop ()” w Javie.
Jaka jest funkcja Java „Thread Stop ()”?
„„zatrzymywać się()„Metoda„Nitka”Klasa kończy wykonywanie wątku. Po zatrzymaniu wątku nie można go ponownie uruchomić „początek()" metoda.
Składnia
publiczne final void stop ()
publiczne końcowe stoper (obiekt do rzucania)
W tej składni „obiekt”Odnosi się do wyrzucalnego obiektu, który należy rzucić.
Przed przejściem do przykładu dodaj następujący pakiet do pracy „Nitka”:
Importuj Java.Lang.Nitka;
Wcześniejsze rozważanie: Kiedy kod wywołuje „początek()”Metoda, tworzona jest nowy wątek i kod w ramach„uruchomić()„Metoda działa w nowym wątku.
Przykład: Zastosowanie „wątku stop ()”, aby zatrzymać rozpoczęty wątek w Javie
Ten przykład dotyczy „Nitka.zatrzymywać się()”Metoda zatrzymania jednego z zainicjowanych wątków:
ThreadStop klasy publicznej rozszerza wątek implementuje runnable
public void run ()
int i = 0;
podczas gdy ja <= 3)
próbować
System.na zewnątrz.println (wątek.currentthread ().getName ());
sen (3000);
catch (przerywającexception z wyjątkiem)
System.na zewnątrz.println (z wyjątkiem);
i ++;
System.na zewnątrz.println ();
Zgodnie z powyższym fragmentem kodu wykonaj poniżej określone kroki:
- Najpierw zdefiniuj klasę wątków o nazwie „Threadstop" za pośrednictwem "rozszerza”Słowo kluczowe.
- „„Runnable„Interfejs jest zaimplementowany w celu wykonania utworzonych instancji jako„Nitka".
- W definicji klasy zdefiniuj funkcję o nazwie „uruchomić()".
- W definicji funkcji zastosuj „chwila„Pętla powoduje zgromadzone”próbować„BLOK do wykonania”3„Czasy.
- Działa tak, że nazwa wątku jest wywoływana przez „getName ()”Metoda i wątki są uruchamiane i zatrzymywane w odniesieniu do ustawionych interwałów.
- Algorytm: „„uruchomić()„Metoda itera przez wątki”3„Czasy po każdym„3" sekundy.
- Uwzględnij także określony wyjątek w „złapać" blok.
Teraz przejdźmy do podwozienia „główny()" metoda:
public static void main (string args [])
ThreadStop ThreadFirst = new ThreadStop ();
ThreadStop ThreadSecond = new ThreadStop ();
ThreadFirst.początek();
ThreadFirst.setName („Thread1”);
Kompon.początek();
Kompon.setName („Thread2”);
Kompon.zatrzymywać się();
System.na zewnątrz.println („Thread2 jest zatrzymany”);
W powyższych wierszach kodu:
- Utwórz dwa obiekty klasowe za pomocą „nowy”Słowo kluczowe i„ThreadStop ()”Konstruktor odpowiednio.
- W następnym kroku skojarz „początek()„Metoda inicjowania wątku i przydzielenia nazwy, i.mi., "Thread1" za pośrednictwem "setName ()" metoda.
- Podobnie, rozpocznij kolejny wątek o nazwie „wątek2".
- Teraz zatrzymaj ten ostatni wątek za pomocą powiązanego „zatrzymywać się()" metoda.
Cały kod
ThreadStop klasy publicznej rozszerza wątek implementuje runnable
public void run ()
int i = 0;
podczas gdy ja <= 3)
próbować
System.na zewnątrz.println (wątek.currentthread ().getName ());
sen (3000);
catch (przerywającexception z wyjątkiem)
System.na zewnątrz.println (z wyjątkiem);
i ++;
System.na zewnątrz.println ();
public static void main (string args [])
ThreadStop ThreadFirst = new ThreadStop ();
ThreadStop ThreadSecond = new ThreadStop ();
ThreadFirst.początek();
ThreadFirst.setName („Thread1”);
Kompon.początek();
Kompon.setName („Thread2”);
Kompon.zatrzymywać się();
System.na zewnątrz.println („Thread2 jest zatrzymany”);
Wyjście
W tym wyniku można zaobserwować, że wątek, ja.mi., "wątek2”Jest zatrzymany i„uruchomić()”Metoda jest odpowiednio wywoływana.
Rozpocząć i zatrzymać „Nitka„W niestandardowy sposób, ja.mi., Iterowanie wielokrotnie lub ustawianie przedziałów czasowych zmień wartość iteracji i określony czas w „spać()„Parametry metody:
Chodziło o funkcjonalność wątku stop () w Javie.
Wniosek
„„zatrzymywać się()„Metoda„Nitka”Klasa w Javie kończy wykonywanie wątku, a wątku zatrzymanego nie można ponownie uruchomić ponownie przez„początek()" metoda. Tę metodę można wdrożyć, aby zatrzymać konkretny wątek zgodnie z wywołanymi „uruchomić()" metoda. Ten blog poprowadził cię do korzystania z „Nić stop ()”Funkcja w Javie.