解释为什么wait()和notify(), notifyAll()要放在同步块中
Posted allenduke
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解释为什么wait()和notify(), notifyAll()要放在同步块中相关的知识,希望对你有一定的参考价值。
首先,wait()是释放锁的,因此wait()之前要先获得锁,而锁在同步块开始的时候获得,结束时释放,即同步块内为持有锁的阶段。
那为什么要设计同步块呢?或者说没有同步块会怎样呢?
以上是关于解释为什么wait()和notify(), notifyAll()要放在同步块中的主要内容,如果未能解决你的问题,请参考以下文章
线程中的current thread not owner异常错误
如何在不是线程的对象上调用 wait() 和 notify() 方法?
面试官:为什么 wait/notify 必须与 synchronized 一起使用??
JUC并发编程 -- 为什么需要wait/notify方法 & 原理之 wait / notify & wait() 和 notify() API介绍