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:
<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>
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!