面试题:为什么 wait/notify 必须与 synchronized 一起使用??

本文探讨了Java中wait/notify方法必须与synchronized关键字一起使用的原因。详细介绍了synchronized的特性、实现锁的原理,以及wait/notify的工作机制。通过示例分析了如果不使用synchronized可能导致的lost wake up问题,强调了正确使用锁的重要性。


为什么 java wait/notify 必须与 synchronized 一起使用

这个问题就是书本上没怎么讲解,就是告诉我们这样处理,但没有解释为什么这么处理?我也是基于这样的困惑去了解原因。

synchronized是什么

Java中提供了两种实现同步的基础语义:synchronized方法和synchronized块, 看个demo:

public class SyncTest {
   
   

   \\ 1synchronized方法

    public synchronized void syncMethod