java - 线程通知问题

标签 java multithreading

从主线程,我启动了一个子线程 在子线程run()方法内,调用wait()方法 在main方法中调用子线程的join()方法,而不通知子线程。

我注意到,主线程和子线程仍在运行,这是已知的行为吗?为什么?

最佳答案

通过调用wait,您可以阻塞子线程,直到notify;通过调用join,您可以阻塞主线程,直到子线程结束。因此,你会遇到一个可预见的僵局。我不会将此行为称为“已知”,而是“按照指定”。

关于java - 线程通知问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13731557/

相关文章:

c - 使用线程时 printf 无法正常工作

c# - 根据 FileSystemWatcher 更改通知更改 ObservableCollection

java - 如何从 Eclipse 正确重新运行 Spring Boot 应用程序?

java - Spring Boot 有什么方法可以定义 JTA 资源吗?

c# - 如何在WPF应用程序上修复 “The calling thread cannot access this object because a different thread owns it.”

android - 无法创建线程中的 WebView

java - 不兼容的类型 : java. lang.Object 无法转换为 java.lang.String?

java - Spring WebClient 在尝试转换 bodyToMono<UUID>、POST 请求时抛出不支持的媒体类型异常

java - 输入不保存在文本文件中

java - 线程名称和两次调用run方法