在Java中,Object的wait()方法为什么被实现为final方法呢?是否没有必要重写wait()方法呢?
如果您能够重写该方法,可能会发现自己有一种打破同步的方式。Java不能允许这样做。它必须对确切的实现进行控制,这就是为什么它是每个对象除了具有关联的监视器外,还有一个关联的等待集合。等待集合是一组线程。
当对象首次创建时,其等待集合为空。将线程添加到等待集合和从等待集合中删除线程的基本操作是原子性的。等待集合仅通过方法Object.wait、Object.notify和Object.notifyAll进行操作。
final
的原因。