join线程执行结束之后,并没有看到哪里有notify方法,请问此时谁去唤醒等待池中的线程

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_26975307/article/details/81666471

Java中的join方法,阻塞当前线程,直到join线程结束后才继续执行。底层是通过wait来实现的,join线程执行结束之后,并没有看到哪里有notify方法,请问此时谁去唤醒等待池中的线程(join之前的那个“当前”线程)呢?

这个线程isAlive()会保持cpu对当前线程的占有(wait),跳出isAlive()以后cpu会自动调度到父线程去,不需要notify,底层自己实现的。
 

wait的结束不一定非得nofify 也可以是wait()的时间走完。

一次讨论的记录,这个问题很有趣,所以就记录了一下
 

猜你喜欢

转载自blog.csdn.net/qq_26975307/article/details/81666471