Nous pouvons ajouter le thread à juger au thread actuel en appelant la méthode thread.Join(), afin que deux threads s'exécutant alternativement puissent être fusionnés en threads d'exécution séquentiels. S'il s'exécute avec succès, cela signifie que le thread n'est pas terminé.
(Tutoriel vidéo recommandé : vidéo java )
Par exemple, si la méthode Join() du thread A est appelée dans le thread B, elle ne sera exécutée que lorsque le thread A termine l’exécution. Continuez à exécuter le thread B.
t.join(); //调用join方法,等待线程t执行完毕 t.join(1000); //等待 t 线程,等待时间是1000毫秒。
Code spécifique :
public class TestJoin implements Runnable { public static void main(String[] sure) throws InterruptedException { Thread t = new Thread(new TestJoin()); long start = System.currentTimeMillis(); t.start(); t.join(1000);//等待线程t 1000毫秒 System.out.println(System.currentTimeMillis()-start);//打印出时间间隔 System.out.println("Main finished");//打印主线程结束 } @Override public void run() { // synchronized (currentThread()) { for (int i = 1; i <= 5; i++) { try { sleep(1000);//睡眠5秒,循环是为了方便输出信息 } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("睡眠" + i); } System.out.println("TestJoin finished");//t线程结束 } //} }
Tutoriel recommandé : Programme d'entrée Java
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!