为什么 wait 和 notify 方法要在同步块中调用? 迷失技术de小猪 4个月前 多线程 51 主要是因为Java API强制要求这样做,如果你不这么做,你的代码会抛出IllegalMonitorStateException 异常。 还有一个原因是为了避免 wait 和 notify 之间产生竞态条件。 回复 我来回复 暂无回复内容 请 登录 或者 注册 后回复。 相关问题 为什么你应该在循环中检查等待条件? 4个月前 0 52 线程和进程的区别是什么? 4个月前 0 86 如何创建线程安全的单例模式 4个月前 0 53 Synchronized 有哪几种用法? 4个月前 0 81 同步方法和同步块,哪种更好? 4个月前 0 80 为什么 wait/notify/notifyAll 这些方法不在 thread 类里面? 4个月前 0 64 你如何在 Java 中获取线程堆栈? 4个月前 0 54 Java 中 notify 和 notifyAll 有什么区别? 4个月前 0 102 violatile 关键字的作用? 4个月前 0 77 CyclicBarrier 和 CountDownLatch 的区别? 4个月前 0 93