开发者社区 问答 正文

为什么wait方法必须在同步代码块中调用?

为什么wait方法必须在同步代码块中调用?

展开
收起
萝卜丝丸子 2024-05-30 14:24:52 206 分享 版权
1 条回答
写回答
取消 提交回答
  • 因为wait()方法属于Object类,调用后会强制释放当前对象锁。所以,在调用wait()方法时,线程必须已经持有该对象的锁,这通常通过synchronized关键字实现的同步代码块或同步方法来完成。否则,如果线程没有持有锁而调用wait(),将会抛出IllegalMonitorStateException异常。

    2024-05-30 15:00:34
    赞同 展开评论
问答地址: