http://ifeve.com/monitors-java-synchronization-mechanism/
监视器用于同步,是一种机制,并不是对象,但是我们有“获取对象的监视器”这样的一种说法,(just accept)
监视器通过synchronzied关键字去获取
--------
wait
当前线程必须拥有此对象监视器。该线程发布对此监视器的所有权并等待,直到其他线程通过调用 notify
方法,或 notifyAll
方法通知在此对象的监视器上等待的线程醒来。然后该线程将等到重新获得对监视器的所有权后才能继续执行。
--------
notify
唤醒在此对象监视器上等待的单个线程。如果所有线程都在此对象上等待,则会选择唤醒其中一个线程。选择是任意性的,并在对实现做出决定时发生。线程通过调用其中一个 wait
方法,在对象的监视器上等待。