Uruchamialny interfejs w Javie: implementacja, kroki i błędy
Opublikowany: 2021-05-02Spis 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 .
- Utwórz klasę wątku, która zaimplementuje uruchamialny interfejs.
- W klasie wątku napisz funkcję zastępującą metodę run().
- Utwórz wystąpienie klasy Thread.
- Instancja wątku ma konstruktor, który akceptuje uruchamialny obiekt. Przekaż ten obiekt jako parametr do wystąpienia wątku.
- 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().