Heim > Java > javaLernprogramm > Wie kann sichergestellt werden, dass der Haupt-Thread auf den Abschluss mehrerer Thread-Prozesse wartet?

Wie kann sichergestellt werden, dass der Haupt-Thread auf den Abschluss mehrerer Thread-Prozesse wartet?

Barbara Streisand
Freigeben: 2024-10-31 02:31:29
Original
753 Leute haben es durchsucht

How to Ensure the Main Thread Waits for Completion of Multiple Threaded Processes?

Warten auf den Abschluss mehrerer Thread-Prozesse

In diesem Codeausschnitt haben Sie mehrere Threads erstellt, von denen jeder eine Aufgabe in seinem eigenen Thread ausführt der Ausführung. Um sicherzustellen, dass der Haupt-Thread darauf wartet, dass alle Unter-Threads ihre Ausführung abschließen, bevor er fortfährt, können Sie den folgenden Ansatz implementieren:

  1. Threads in einem Array speichern: Erstellen Sie ein Array zum Speichern aller erstellten Threads. Dies gewährleistet eine organisierte Verfolgung ihres Abschlussstatus.
  2. Alle Threads starten: Durchlaufen Sie das Threads-Array und starten Sie jeden Thread mit der start()-Methode.
  3. Verknüpfen Sie Threads in einer Schleife: Nachdem Sie alle Threads gestartet haben, fügen Sie eine Schleife hinzu, um jeden Thread im Array zu verbinden. Die Methode „join()“ blockiert den aufrufenden Thread (in diesem Fall den Hauptthread), bis der Zielthread seine Ausführung abschließt.
<code class="java">// ... (code as before)

public class DoSomethingInAThread implements Runnable {

    public static void main(String[] args) {
        Thread[] threads = new Thread[1000];  // Assume 1000 threads for example
        
        // Start all threads
        for (int n = 0; n < 1000; n++) {
            threads[n] = new Thread(new DoSomethingInAThread());
            threads[n].start();
        }
        
        // Wait for all threads to complete
        for (int i = 0; i < threads.length; i++) {
            threads[i].join();
        }
    }

    public void run() {
        // ... (code as before)
    }
}</code>
Nach dem Login kopieren

Durch die Verwendung der Methode „join()“ blockiert der Hauptthread Bis alle Unterthreads ihre Ausführung abgeschlossen haben, stellen Sie sicher, dass Ihr Programm auf den Abschluss aller Aufgaben wartet, bevor es mit dem Code fortfährt, der auf die Schleife folgt. Dieser Ansatz gibt Ihnen die Kontrolle und stellt sicher, dass Ressourcen freigegeben werden und das Programm korrekt beendet wird.

Das obige ist der detaillierte Inhalt vonWie kann sichergestellt werden, dass der Haupt-Thread auf den Abschluss mehrerer Thread-Prozesse wartet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage