从主线程,我启动了一个子线程
在子线程run()
方法内,调用wait()
方法
在main方法中调用子线程的join()
方法,而不通知子线程。
我注意到,主线程和子线程仍在运行,这是已知的行为吗?为什么?
最佳答案
通过调用wait
,您可以阻塞子线程,直到notify
;通过调用join
,您可以阻塞主线程,直到子线程结束。因此,你会遇到一个可预见的僵局。我不会将此行为称为“已知”,而是“按照指定”。
关于java - 线程通知问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13731557/