Uruchamialny interfejs w Javie: implementacja, kroki i błędy

Opublikowany: 2021-05-02

Spis treści

Wstęp

Uruchamialny interfejs w Javie to interfejs, którego instancje mogą działać jako wątek. Podczas pracy z wątkami, uruchamialny interfejs działa jako podstawowy element języka programowania Java. Klasy Java utworzone do uruchamiania wątków muszą implementować ten interfejs. Ten artykuł pozwoli Ci dogłębnie zrozumieć uruchamialny interfejs w Javie i proces implementacji.

Co to jest uruchamialny interfejs w Javie?

Uruchamialny interfejs to interfejs, który zawiera pojedynczą metodę. Program Java definiuje tę pojedynczą metodę w pakiecie java.lang i wywołuje ją po wykonaniu klasy wątku. Zapewnia szablon dla obiektów, które klasa może zaimplementować za pomocą wątków. Można zaimplementować uruchamialny interfejs w Javie na jeden z następujących sposobów:

  • Korzystanie z wątku podklasy
  • Zastępowanie metody run()

Java nie pozwala na wielokrotne dziedziczenie w programie. Możesz rozszerzyć tylko jedną klasę, a kiedy rozszerzasz klasę wątku, zużywa ona więcej pamięci, czasu obliczeniowego i innych zasobów. W związku z tym zwiększa koszty korzystania z dodatkowych metod. Z powyższych dwóch opcji do utworzenia wątku lepiej jest użyć działającego interfejsu. Aby to zrobić, musisz dostarczyć implementację metody run().

Kroki tworzenia wątku przy użyciu uruchamialnego interfejsu w Javie

Wykonaj następujące kroki, aby utworzyć wątek przy użyciu uruchamialnego interfejsu w języku Java .

  1. Utwórz klasę wątku, która zaimplementuje uruchamialny interfejs.
  2. W klasie wątku napisz funkcję zastępującą metodę run().
  3. Utwórz wystąpienie klasy Thread.
  4. Instancja wątku ma konstruktor, który akceptuje uruchamialny obiekt. Przekaż ten obiekt jako parametr do wystąpienia wątku.
  5. Na koniec wywołaj metodę startową wystąpienia wątku.

Przeczytaj także: Pomysły i tematy projektów Java

Implementacja Runnable Interface w Javie

Implementacja metody run() to najprostszy sposób na utworzenie nowego wątku. Działa jako punkt wyjścia do tworzenia nowego wątku. Implementacja uruchamialnego interfejsu używa kodu wewnątrz metody run() i wykonuje go we współbieżnym wątku. Możesz wywołać klasę, utworzyć nowe zmienne lub wywołać akcję w metodzie run(), aby zaimplementować uruchamialny interfejs w języku Java . Program zapewnia, że ​​wątek jest nieaktywny, dopóki nie wydrukuje instrukcji return w kodzie.

public class TestRunnableInterface {

public static void main(String[] args) {

System.out.println(„Z metody podstawowej(): ” + Thread.currentThread().getName());

System.out.println(„Implementacja działającego interfejsu w Javie ”);

Instancja uruchamialna = nowa Runnable() {@Override

publiczne void run() {

System.out.println(„Z metody run(): ” + Thread.currentThread().getName());

}

};

System.out.println("Utwórz nową instancję obiektu wątku.");

Test wątku = nowy wątek(instancja);

System.out.println("Wykonywanie wątku!");

test.start();

}

}

Wyjście

Z metody primary(): main

Implementacja działającego interfejsu w Javie

Utwórz nowe wystąpienie obiektu wątku.

Z metody run(): Wątek-0

Błędy napotkane podczas implementacji uruchamialnego interfejsu w Javie

Metoda run() zgłasza błąd wyjątku w czasie wykonywania, gdy program ulega awarii z powodu błędu składni lub kodu. Jeśli wirtualna maszyna Java nie wykryje błędów, utworzony wątek obsługuje wyjątek pominięty przez maszynę JVM. Program obsługi wyjątków drukuje wyjątek i zatrzymuje program.

import java.io.FileNotFoundException;

public class TestRunnableInterface {

public static void main(String[] args) {

System.out.println(„Główny wątek to: ” + Wątek.bieżącyWątek().getName());

Test wątku = nowy wątek(nowy TestRunnableInterface().new DemoInstance());

test.start();

}

klasa prywatna DemoInstance implementuje Runnable {

publiczne void run() {

System.out.println(Wątek.bieżącyWątek().getName() + “, wywoływanie metody run()!”);

próbować {

wyrzuć nowy wyjątek FileNotFoundException();

}

catch(FileNotFoundException demo) {

System.out.println("Wykryto błąd!");

demo.printStackTrace();

}

}

}

}

Wyjście

Główny wątek to: główny

Wątek-0, wywoływanie metody run()!

Złapałem błąd!

java.io.FileNotFoundException

w TestRunnableInterface$DemoInstance.run (Przykład.java:21)

pod adresem java.lang.Thread.run(Thread.java:748)

Klasa TestRunnableInterface w powyższym programie nie zgłasza wyjątku FileNotFoundException. Maszyna wirtualna Java dba o wyjątki, które powinny być obsługiwane przez klasę TestRunnableInstance.

Przypadek użycia uruchamialnego interfejsu w Javie

Uruchamialny interfejs w języku Java jest używany w scenariuszu sieciowym, w którym serwer otrzymuje wiele żądań połączeń od klientów. Uruchamialny interfejs w Javie obsługuje to szybko i wydajnie, wykonując programowanie wielowątkowe.

Ucz się kursów rozwoju oprogramowania online z najlepszych światowych uniwersytetów. Zdobywaj programy Executive PG, Advanced Certificate Programs lub Masters Programs, aby przyspieszyć swoją karierę.

Wniosek

W skrócie, uruchamialny interfejs w Javie jest zawsze lepszym wyborem w porównaniu do wątku podklasy, jeśli chodzi o tworzenie wątków w Javie. Kod użyty w artykule ma jedynie charakter objaśniający. Możesz modyfikować stwierdzenia podane w przykładach zgodnie z własnymi wymaganiami. W tym artykule dowiedzieliśmy się o uruchamialnym interfejsie w Javie oraz o tym, jak utworzyć wątek, implementując uruchamialny interfejs w Javie .

Możesz wypróbować kod, aby poszerzyć wiedzę swojego konstruktora Java . Jeśli chcesz dogłębnie zrozumieć Javę, zapoznaj się z kursem UpGrad Executive PG Program in Full Stack Development . Ten kurs jest przeznaczony dla pracujących profesjonalistów i oferuje rygorystyczne szkolenia i pomoc w pracy z najlepszymi firmami.

Co to jest wielowątkowość w Javie?

Wielowątkowość to koncepcja w Javie, w której zadania są wykonywane jednocześnie. Pozwala programowi wykonywać wiele różnych zadań jednocześnie, zamiast czekać na wykonanie pojedynczego zadania. Jest to jeden z najpopularniejszych tematów programistów Java i Java. Wielowątkowość to jedna z bardzo potężnych funkcji Javy. Efektywnie wykorzystuje procesor, uruchamiając kilka wątków. Java ma specjalną konstrukcję zwaną wątkiem. Wątek jest w zasadzie procesem oprogramowania, który może wykonać dowolną sekwencję instrukcji kodu bajtowego Java. Wykonanie każdego wątku jest niezależne od innych wątków. Deweloperzy mogą utworzyć nowy wątek w dowolnym momencie, a JVM zajmie się wykonaniem tego wątku. Pomaga to w tworzeniu wysoce skalowalnych i responsywnych aplikacji.

Co to jest uruchamialny interfejs w Javie?

Uruchomiony interfejs służy do pisania aplikacji, które mogą działać w osobnym wątku. Każda klasa, która implementuje uruchamialny interfejs, nazywana jest wątkiem. Kod wątku jest wykonywany przez interpreter po uruchomieniu wątku. Możesz zaimplementować działający interfejs i stworzyć własny program wielowątkowy. Istnieją dwa sposoby na zaimplementowanie tego interfejsu. Pierwszym z nich jest użycie podklasy wątku. Drugim jest nadpisanie metody run().

Jak właściwie działa wielowątkowość?