Jak utworzyć wątek (Thread) w Javie?

W programowaniu Java, wątki pozwalają na wykonywanie wielu operacji jednocześnie w jednym procesie. Utworzenie wątku w Javie może znacznie przyspieszyć działanie aplikacji, szczególnie gdy wymaga ona wykonania wielu niezależnych zadań. W tej lekcji dowiemy się, jak utworzyć wątek w Javie przy użyciu klasy Thread.

Przykład użycia wątków

Poniższy przykład ilustruje podstawowy sposób tworzenia i uruchamiania wątku w Javie. Przedstawiono klasę MyThread, która dziedziczy po klasie Thread i nadpisuje metodę run(), w której definiowane są zadania do wykonania przez wątek.

// Klasa MyThread dziedzicząca po Thread
public class MyThread extends Thread {
    
    @Override
    // Metoda run, która zostanie wykonana gdy wątek się rozpocznie
    public void run() {
        for (int i = 1; i <= 5; i++) {
            // Wypisz numer iteracji i nazwę wątku
            System.out.println(i + " " + Thread.currentThread().getName());
            
            try {
                // Usypianie wątku na 1000 ms
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                // Obsługa przerwania wątku
                System.out.println("Wątek został przerwany.");
            }
        }
    }
}

// Klasa Main z metodą main
public class Main {
    public static void main(String[] args) {
        // Tworzenie instancji MyThread
        MyThread thread1 = new MyThread();
        MyThread thread2 = new MyThread();
        
        // Ustawienie nazw wątków
        thread1.setName("Wątek 1");
        thread2.setName("Wątek 2");
        
        // Startowanie wątków
        thread1.start();
        thread2.start();
    }
}

W powyższym kodzie, klasa MyThread dziedziczy po klasie Thread. W metodzie run() definiujemy działania, które mają być wykonane przez wątek – w tym przypadku, jest to wyświetlanie numeru iteracji oraz nazwy wątku. Metoda sleep() jest używana do symulacji czasochłonnych operacji, usypiając wątek na jeden sekundę.

Podsumowanie

Wątki w Javie są potężnym narzędziem umożliwiającym asynchroniczne przetwarzanie i mogą znacznie poprawić wydajność aplikacji. Poprzez dziedziczenie klasy Thread i nadpisanie metody run(), można łatwo zdefiniować i uruchomić własne wątki, które wykonują określone zadania równolegle do głównego strumienia wykonania programu. Pamiętaj jednak o prawidłowym zarządzaniu wątkami, aby uniknąć problemów związanych z równoczesnym dostępem do zasobów.

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