Wątki w javie

0

Chcę stworzyć program działający na wielu wątkach i mam kilka pytań.
Na początek, pierwszy fragment kodu:

public class Watki {

public static void main(String[] args) {
    Thread t = new Thread(new Runnable(){
        public void run(){
            System.out.println("Jestem watkiem");
        }
    });
     t.start();

    System.out.println("Jestem glownym watkiem");
}

}

I drugi:

public class Watki implements Runnable{

public void run(){
    System.out.println("Jestem watkiem");
}

public static void main(String[] args) {
    Thread t = new Thread(new Watki());
    t.start();

    System.out.println("Jestem glownym watkiem");
}

}

Czym właściwie różnią się te dwa kody? Teoretycznie i w praktyce? W pierwszym przypadku nie implementuję klasy Runnable i tworzę nowy wątek dla Runnable. Ale czym właściwie jest to Runnable w tym miejscu?
W drugim kodzie implementuję interfejs Runnable i tworzę wątek na obiekcie klasy?
Na czym tworzę go w pierwszym kodzie?

Proszę o wyjaśnienie i z góry dziękuję za pomoc :)

2

W działaniu nie różnią się niczym. W pierwszym przypadku tworzysz „w locie” anonimową klasę implementującą interfejs Runnable, więc nie będziesz mógł jej użyć ponownie w innym miejscu. Wejdź w szczegóły konstruktorów klasy Thread i sprawdź sam :)

0

Dziękuję za pomoc :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1