1.基本介绍
该方法是Thread类的一个基本方法,用于实现一个线程A(调用该方法所在的线程)与另一个线程B(被调用该方法的线程)的连接,A线程会阻塞住,直到B线程执行完后,才能继续往下执行。从通俗意义上来说,就是把异步操作的线程,认为的设置为等待同步执行的结果。
2.使用场景
主要用于协调两个线程同步的场景,例如主线程A处理主逻辑,副线程B负责从数据库中查询数据,在前半段两个线程同时运行,当主线程A所有准备逻辑已经处理完毕,需要等待副线程A的数据库查询结果时,可以调用线程B的join方法,阻塞住,等待结果返回后再继续处理。
3.代码举例:
MainThread extends Thread{
public void run()
{
//前面的基本逻辑
subThread.join();
//继续处理后面的逻辑
}
}
4.相关概念
线程的interrupt方法,可以中断线程的运行,而所有其他join了该线程的线程也会中断等待,继续执行下去。