In der folgenden Spalte des Java-Eingabeprogramms wird erläutert, wie Threads in Java sequenziell ausgeführt werden. Ich hoffe, dass es für Sie hilfreich ist!
Wir müssen ein solches Anwendungsszenario absolvieren:
1. Tester, Produktmanager und Entwickler kommen nacheinander ins Unternehmen. 3. Produktmanager planen neu Anforderungen; 4. Entwickler entwickeln neue erforderliche Funktionen; 5. Tester testen neue Funktionen.
Planungsanforderungen, Entwicklung neuer Funktionen und Testen neuer Funktionen erfolgen nacheinander. Wir betrachten Thread1 als Produktmanager, Thread2 als Entwickler und Thread3 als Tester.
Verwenden Sie die Join-Methode des Threads
join(): Es handelt sich um die Methode von Theard. Ihre Funktion besteht darin, dass der aufrufende Thread warten muss, bis der Join()-Thread abgeschlossen ist bevor es weiter verwendet werden kann.
Anwendungsszenario: Die Join-Methode kann verwendet werden, wenn ein Thread darauf warten muss, dass ein anderer Thread die Ausführung beendet.
Das Beispiel sieht wie folgt aus:
package com.zhangsf.javabase.thread.order; /** * @author zhangsf * 通过子程序join使线程按顺序执行 */ public class ThreadJoinDemo { public static void main(String[] args) { final Thread thread1 = new Thread(new Runnable() { @Override public void run() { System.out.println("产品经理规划新需求"); } }); final Thread thread2 = new Thread(new Runnable() { @Override public void run() { try { thread1.join(); System.out.println("开发人员开发新需求功能"); } catch (InterruptedException e) { e.printStackTrace(); } } }); Thread thread3 = new Thread(new Runnable() { @Override public void run() { try { thread2.join(); System.out.println("测试人员测试新功能"); } catch (InterruptedException e) { e.printStackTrace(); } } }); System.out.println("早上:"); System.out.println("测试人员来上班了..."); thread3.start(); System.out.println("产品经理来上班了..."); thread1.start(); System.out.println("开发人员来上班了..."); thread2.start(); } }
Ergebnis ausführen:
Verwenden Sie die Join-Methode des Hauptthreads
Hier wird join() im Hauptthread verwendet, um den Thread zu blockieren.
package com.zhangsf.javabase.thread.order; /** * @author zhangsf * 通过主程序join使线程按顺序执行 */ public class ThreadMainJoinDemo { public static void main(String[] args) throws Exception { final Thread thread1 = new Thread(new Runnable() { @Override public void run() { System.out.println("产品经理正在规划新需求..."); } }); final Thread thread2 = new Thread(new Runnable() { @Override public void run() { System.out.println("开发人员开发新需求功能"); } }); final Thread thread3 = new Thread(new Runnable() {zzzz @Override public void run() { System.out.println("测试人员测试新功能"); } }); System.out.println("早上:"); System.out.println("产品经理来上班了"); System.out.println("测试人员来上班了"); System.out.println("开发人员来上班了"); thread1.start(); //在父进程调用子进程的join()方法后,父进程需要等待子进程运行完再继续运行。 System.out.println("开发人员和测试人员休息会..."); thread1.join(); System.out.println("产品经理新需求规划完成!"); thread2.start(); System.out.println("测试人员休息会..."); thread2.join(); thread3.start(); } }
Betriebsergebnisse:
Es gibt viele Möglichkeiten, Threads nacheinander auszuführen, und ich werde sie Ihnen in Zukunft einzeln vorstellen .
Das obige ist der detaillierte Inhalt vonSo führen Sie Threads in Java nacheinander aus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!