当前位置: 首页 > 面试题库 >

Java调用wait()时发生IllegalMonitorStateException

敖淮晨
2023-03-14
问题内容

我在Java中为程序使用多线程。我已经成功运行了线程,但是当我使用线程时Thread.wait(),它正在抛出java.lang.IllegalMonitorStateException。如何使线程等待通知它?


问题答案:

你需要synchronized先行一步Object.wait()才能工作。

另外,我建议你查看并发程序包,而不是旧式的线程程序包。它们更安全,更易于使用。

快乐的编码。

编辑

我以为你的意思Object.wait()是,当你尝试在不持有对象锁定的情况下获取访问权限时会发生异常。



 类似资料:
  • 问题内容: 我们正在尝试从EC2实例上运行的Java程序的Amazon SQS队列中读取数据。有时,我们得到一个。我们的代码如下所示: 我们的堆栈跟踪如下所示: 的文档没有告诉我们期望AbortedException。 我们正在使用SDK版本1.11.77。 任何帮助,将不胜感激。谢谢。 问题答案: 尽管on上的javadoc 稀疏,但它是&的子类(不必声明)。另外,AWS Exception处理

  • 问题内容: 我想这是某种依赖性问题,所以这是我的树: 从我发现的情况来看,Spring 4.1.1应该可以与javax.servlet 3.1.0一起使用,但是 我 在调用response.getStatus( ) 时遇到了 java.lang.NoSuchMethodError:javax.servlet.http.HttpServletResponse.getStatus() )放在我的拦截器

  • 问题内容: 我有在Android上运行良好的代码。当我将其移植到具有JRE 1.6的Windows 64位计算机上时,该代码不起作用。 当我运行以下代码行时: 我得到以下异常: java.security.NoSuchAlgorithmException:SHA256 MessageDigest在java.security.MessageDigest.getInstance(未知源)处的java.

  • 问题内容: 我很沮丧 我这样宣布我的集合: 然后我像这样填充它: 然后,我尝试使用它: 我最终得到了这一点: 导致异常的行(堆栈跟踪中的第84行)是这一行: 也许我缺少了一些东西,但是如果声明是并且我正在调用传递值的方法,那么我该如何获取此异常? 这是用于JSF应用程序的模型bean。我正在使用Java 6,Tomcat 6.0.32,mojarra 2.1.14,但是这些都不应该真正重要,因为泛

  • 我是Spring的新手。我正在使用SpringWebMVC开发RESTAPI。对于错误处理,我得到了这个链接http://docs.spring.io/spring/docs/3.2.x/spring-framework-reference/html/mvc.html#mvc-ann rest spring mvc异常 我曾尝试在我的项目中使用ResponseEntityExceptionHand

  • 问题内容: 我有一个C程序,它使用JNI在Java存储中存储一些对象。(在有人问之前,这里需要使用Java存储,而我必须用C编写一个客户端,该客户端才能从该存储中添加和检索对象)。 我制作了程序,并尝试添加100000个大小为1KB的对象。但是在仅添加50000个对象之后,我得到了“内存不足”消息(请注意,每当我无法使用NewStringUTF和NewByteArray函数分配新的字符串或字节数组