关于wait和notify的使用问题

wait(); 和 notify(); 只应由作为此对象监视器的所有者的线程调用也就是说synchronized(obj){ obj.wait();}我不明白的是 为什么不能直接写wait(); 因为此时能调用到wait函数的就只有操作当前监视器的那个线程没有必要在前面加个obj声明是这个监视器啊?
2026年09月20日 10:06
有2个网友回答
网友(1):

wait和notify方法都是object对象所具有的,也就是说java中的任何一个对象都有,你不写出obj.wait而只写wait的话实际上是this.wait(),即把当前所在实例作为监视器(synchronized中和锁是一个概念)。

网友(2):

你不加同步怎么能知道当前县城持有Obj呢?