通过源码查看到join()方法底层调用了wait()方法,这也是join()方法可以释放锁的原因吧~但是我们也知道,调用了wait()方法使得线程释放锁并让线程进行阻塞,后续需要notify()方法对线程进行唤醒。查看源码并没有发现notify()方法的调用。查了大佬的帖子,原来问题出现在jvm的源码里,调用了lock.notify_all(thread) 具体查看以下链接 送你上去 这位大佬也上去