Ten zapis przedstawia pełny przewodnik wielowarstwowy w Javie i dla głębokiego zrozumienia obejmie następujące pojęcia:
Więc zacznijmy!
Co to jest multitreading
Jest to proces, który pozwala nam wykonywać co najmniej dwa wątki jednocześnie i jest również określany jako współbieżność w Javie. Multitreading Java maksymalizuje wykorzystanie procesora, gdy działa w każdym wątku równolegle. Ponadto zapisuje pamięć, jak w wielowym okresie.
Dlaczego wielowątkowe jest ważne w Javie
Multitreading zapewnia szeroki zakres funkcji, a znaczenie multitreading Java można ocenić na podstawie poniżej listy:
Wymieniono tutaj tylko kilka funkcji, jednak istnieje wiele innych, jak skalowalność, opłacalność itp. które pokazują dominację wielowy.
Cykl życia wątków w Javie
Na razie dowiedzieliśmy się, co jest wielowątkowe i dlaczego jest to tak ważne w Javie? Teraz dowiemy się o cyklu życia wątku, który składa się z różnych stanów, jak wymieniono poniżej:
Nowy: W tym stanie wątek jest inicjowany/tworzony za pomocą "Nitka" klasa lub „Runnable” interfejs. Pozostaje w tym stanie, dopóki program nie uruchomi/zainicjuje wątku.
Runnable: W tym stanie instancja wątku zostanie wywołana przy użyciu wbudowanej metody start (), a wątek pozostaje w stanie Runnable.
Działanie: W tym stanie wątek rozpoczyna wykonanie.
Czekanie: W tej fazie wątek przechodzi do tymczasowo nieaktywnego stanu, co oznacza, że albo wątek śpi, czeka, albo w stanie zablokowanym.
Zakończone/martwe: Wątek wchodzi w ten stan, gdy wystąpi wyjątek lub jeśli wątek zakończy wykonanie/przetwarzanie.
Metody budowy Java do wielowy
Istnieje lista predefiniowanych metod Java, które można zastosować w wątkach, aby osiągnąć różne funkcje. Niektóre często stosowane metody są wymienione w poniżej podanej tabeli:
Nazwa metody | Opis |
---|---|
początek() | Służy do rozpoczęcia wykonania wątku. |
uruchomić() | wykonuje określone działanie dla wątku. |
getName () | Zwraca nazwę wątku. |
dawać () | Zatrzymuje bieżący wątek i pozwala innym wykonywać. |
SetPriority (int newpriority) | Określa priorytet wątku. |
getpriority () | Zwraca priorytet wątku. |
Sen (int milisekund) | Śpi wątek przez określony okres. |
getId () | Zwraca identyfikator wątku. |
Praktyczne wdrożenie multitreading w Javie
Teraz nadszedł czas, aby zrozumieć koncepcję multitreadingu Java za pomocą praktycznej implementacji. Rozważymy więc przykład, w którym będziemy wykonywać multitreading i wykorzystamy niektóre z wyżej wymienionych wbudowanych metod.
Przykład
W tym przykładzie wykonamy multitReading, wdrażając interfejs Runnable:
Klasa publiczna MultitHreadingExample implementuje RunnableW powyższym fragmencie kodu implementujemy interfejs Java Runnable, aw klasie używamy @Nadpisanie adnotacja, która pokazuje, że „MultiTHReadingExample” zastępuje uruchomić() Metoda interfejsu Runnable. Następnie tworzymy wiele wątków i rozpoczynamy wykonanie wątku za pomocą początek() metoda. Wreszcie, otrzymujemy nazwy wątku za pomocą getName () Metoda i wydrukuj je, jak pokazano na poniższym fragmencie:
To weryfikuje działanie wielokrotności w Javie.
W powyższym przykładzie wykonywamy multitReading, wdrażając Runnable interfejs. Możemy jednak również wykonywać multitreading, rozszerzając predefiniowane Nitka klasa, jak pokazano w poniższym fragmencie:
Klasa publiczna MultitHreadingExample rozszerza wątekRozszerzając klasę wątków, możesz skorzystać z funkcji predefiniowanych metod Java.
Wniosek
Wielowątkowość umożliwia jednoczesne wykonywanie dwóch lub więcej wątków, które maksymalizują wykorzystanie procesora, oszczędza czas, pamięć itp. MultitReading można wykonać, rozszerzając lub wdrażając odpowiednio klasę wątków lub interfejs Runnable. Różne wbudowane metody klasy wątków i interfejsu Runnable mogą być używane w multitemreading do wykonywania różnych funkcji, takich jak zatrzymanie bieżącego wątku i umożliwienie wykonywania innych wątków, określając priorytet wątków i tak dalej.
Ten zapis wyjaśnia różne aspekty multitreading, takie jak to, co jest multitrowe, jego znaczenie, cykl życia, metody i praktyczne wdrożenie.