Czym jest wątek (Thread) w Javie?

Wątek w Javie jest podstawowym elementem programowania wielowątkowego. To mniejsza jednostka procesu, która może być wykonana równolegle z innymi wątkami. Użycie wielu wątków umożliwia wykonanie różnych części programu równocześnie, co może zwiększyć wydajność aplikacji, szczególnie na komputerach z wieloma procesorami.

Przykład kodu w Javie

Poniżej znajduje się przykład, który ilustruje, jak można stworzyć i uruchomić wątek w Javie. W tym przykładzie stworzymy prosty wątek, który wyświetla liczby od 1 do 5, robiąc przerwę sekundową między każdym wyświetleniem.

// Klasa CountingThread rozszerza klasę Thread
public class CountingThread extends Thread {

    // Metoda run zawiera kod, który będzie wykonany przez wątek
    public void run() {
        try {
            // Pętla licząca od 1 do 5
            for (int i = 1; i <= 5; i++) {
                System.out.println(i); // Wyświetlenie wartości i
                Thread.sleep(1000); // Przerwa na 1000 milisekund (1 sekunda)
            }
        } catch (InterruptedException e) {
            System.out.println("Wątek został przerwany.");
        }
    }
}

// Klasa Main do uruchomienia wątku
public class Main {
    public static void main(String[] args) {
        CountingThread thread = new CountingThread(); // Utworzenie obiektu wątku
        thread.start(); // Rozpoczęcie wykonania wątku
    }
}

Wyjaśnienie działania kodu

  1. Definicja klasy wątku: CountingThread jest klasą pochodną od Thread. Klasa Thread jest wbudowaną klasą w Javie, służącą do tworzenia i zarządzania wątkami.
  2. Metoda run: Jest to serce każdego wątku. Metoda run zawiera kod, który ma być wykonany, gdy wątek zostanie uruchomiony.
  3. Pętla for: W metodzie run, używamy pętli for do wyświetlania liczb od 1 do 5. Po każdej iteracji pętli, wątek zostaje uśpiony na sekundę.
  4. Obsługa wyjątków: InterruptedException jest wyjątkiem, który może zostać rzucony, gdy inny wątek przerwie obecnie działający wątek podczas jego snu.
  5. Uruchomienie wątku: W klasie Main, tworzymy instancję CountingThread i uruchamiamy go za pomocą metody start(), która internie wywoła metodę run().

Podsumowanie

Wątek w Javie pozwala na równoległe wykonanie kodu, co jest kluczowe w aplikacjach wielowątkowych, aby zwiększyć ich wydajność. Zarządzanie wątkami w Javie może być złożone, ale podstawowe użycie, jak pokazano w powyższym przykładzie, jest stosunkowo proste. Programowanie wielowątkowe pozwala na efektywniejsze wykorzystanie zasobów procesora, co jest szczególnie ważne w nowoczesnych aplikacjach komputerowych.

Jeżeli chcesz przyśpieszyć swoją naukę tworzenia stron chciałbym polecić mój kurs video Java w którym nauczysz się tego języka od podstaw do zaawansowanych jego aspektów.

Scroll to Top