Wait:释放执行权,释放锁
Sleep:释放执行权,不释放锁.它不需要被人叫醒
Wait和notify一般是配合使用的,有一个Demo类中有show和method两方法,这两方法中都有同步代码块,使用的是同一个锁,T0,T1和T2在show的同步代码块中等待,当T4在method的同步代码块中唤醒所有notifyAll的线程的时候,这个时候T0,T1,T3他们都会具有cpu的执行资格,但是只有当T4执行完它的代码后,走出同步代码块后,T4释放了锁,这个时候0,1,2会只有一个随即拿到锁,这个时候拿到锁的哥们就同时具有cpu的执行资格和执行权,然后它就能进入同步代码块工作了.
|