Heim >Java >javaLernprogramm >Übung Probieren Sie diesen Erweiterungsthread aus

Übung Probieren Sie diesen Erweiterungsthread aus

Linda Hamilton
Linda HamiltonOriginal
2024-11-21 07:07:09741Durchsuche

Exercício Tente Isto Extendendo Thread

In dieser Übung erfahren Sie, wie Sie Threads in Java erstellen, indem Sie die Thread-Klasse direkt erweitern, anstatt die Runnable-Schnittstelle zu implementieren. Auf diese Weise erbt Ihre Klasse die Thread-Methoden, wodurch es einfacher wird, den Thread direkt zu bearbeiten, ohne dass ein separater Thread instanziiert werden muss.

Übungsschritte

Erweitern Sie die Thread-Klasse:
Ihre Klasse muss von Thread erben und die run()-Methode überschreiben.

Klassenkonstruktor:
Verwenden Sie den super(name)-Konstruktor, um dem Thread einen Namen zu geben und die Ausführung durch direkten Aufruf von start() zu starten.

Überschreiben Sie die run()-Methode:
Diese Methode definiert das Verhalten des Threads. Hier gibt der Thread seinen Namen aus und führt eine Schleife aus.
Vollständiges Funktionsbeispiel:

Unten ist der Code:

// Define a classe que estende Thread
class MyThread extends Thread {
    // Constrói uma nova thread
    MyThread(String name) {
        super(name); // Nomeia a thread
        start();     // Inicia a thread
    }

    // Começa a execução da nova thread
    public void run() {
        System.out.println(getName() + " starting.");
        try {
            for (int count = 0; count < 10; count++) {
                Thread.sleep(400); // Pausa por 400ms
                System.out.println("In " + getName() + ", count is " + count);
            }
        } catch (InterruptedException exc) {
            System.out.println(getName() + " interrupted.");
        }
        System.out.println(getName() + " terminating.");
    }
}

// Classe principal para demonstrar a execução das threads
class ExtendThread {
    public static void main(String[] args) {
        System.out.println("Main thread starting.");

        // Cria uma nova thread
        MyThread mt = new MyThread("Child #1");

        // Executa a thread principal
        for (int i = 0; i < 50; i++) {
            System.out.print(".");
            try {
                Thread.sleep(100); // Pausa por 100ms
            } catch (InterruptedException exc) {
                System.out.println("Main thread interrupted.");
            }
        }

        System.out.println("Main thread ending.");
    }
}

So funktioniert der Kodex
Sekundäre Thread-Erstellung:
Der Thread „Child #1“ wird erstellt und startet sofort mit start().

Sekundäre Thread-Ausführung:
Der Thread führt eine Schleife aus, druckt Nachrichten und pausiert 400 ms zwischen den Iterationen.

Haupt-Thread-Ausführung:
In der Zwischenzeit druckt der Hauptthread Punkte (".") in 100-ms-Intervallen.

Programmausgabe (Beispiel)

Main thread starting.
Child #1 starting.
.In Child #1, count is 0
..In Child #1, count is 1
...In Child #1, count is 2
... (continua)
Main thread ending.
Child #1 terminating.

Beobachtungen
Die Haupt- und Nebenthreads laufen gleichzeitig.
Die run()-Methode enthält die Logik des sekundären Threads, während der Hauptthread seine unabhängige Ausführung fortsetzt.

Das obige ist der detaillierte Inhalt vonÜbung Probieren Sie diesen Erweiterungsthread aus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn