Java如何使用join方法等待线程完成?
如果希望一个线程一直工作到另一个线程死亡,可以使用join()方法将该线程连接到另一个线程的末尾。例如,您希望线程B只在线程A完成其工作之前工作,然后您希望线程B加入线程A。
package org.nhooo.example.lang;
public class ThreadJoin implements Runnable {
private int numberOfLoop;
private ThreadJoin(int numberOfLoop) {
this.numberOfLoop = numberOfLoop;
}
public void run() {
System.out.println("[" +
Thread.currentThread().getName() + "] - Running.");
for (int i = 0; i < this.numberOfLoop; i++) {
System.out.println("[" +
Thread.currentThread().getName() + "] " + i);
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
System.out.println("[" +
Thread.currentThread().getName() + "] - Done.");
}
public static void main(String[] args) {
Thread t1 = new Thread(new ThreadJoin(10), "FirstThread");
Thread t2 = new Thread(new ThreadJoin(20), "SecondThread");
try {
// 启动t1并等待该线程死亡
// 启动t2线程。
t1.start();
t1.join();
// 从t2开始
t2.start();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
热门推荐
8 简短元宵节祝福语
10 建队节祝福语简短
11 康复儿童六一祝福语简短
12 朋友祝福语卡片简短大气
13 新婚祝福语致老师简短
14 成年礼简短的祝福语
15 给孩子开学祝福语简短
16 高考成绩出祝福语 简短
17 生日祝福语陌生女生简短
18 圣诞祝福语简短给师姐