Thread.join()通信及其源码解析

Thread.join通信及其源码浅析线程b去执行修改。只有B运行完成之后,A才能继续操作
使用场景:线程A执行到一半,需要一个数据,这个数据需要线程。

线程A的run方法里面,调用线程B的join方法,这个时候,线程A会等待线程B运行完成之后,再接着运行。

join方法
等待该线程终止。
等待调用join方法的线程结束,再继续执行。如:t.join();//主要用于等待t线程运行结束,若无此句,main则会执行完毕,导致结果不可预测。

线程join方法的本质是调用isAlive方法判断线程是否存活,然后调用wait方法。

1.本来是想线程二执行完第一句,然后线程一执行第一句。结果不是。

Thread.join()通信及其源码解析

2.用线程的join(方法可以解决这个问题)

Thread.join()通信及其源码解析