1、wait(),notify(),notifyAll(),用来操作线程为什么定义在了Object类中? a,这些方法存在与同步中。 b,使用这些方法时必须要标识所属的同步的锁。同一个锁上wait的线程,只可以被同一个锁上的notify唤醒。 c,锁可以是任意对象,所以任意对象调用的方法一定定义Object类中。 2、wait(),sleep()有什么区别? wait():释放cpu执行权,释放锁。 sleep():释放cpu执行权,不释放锁。 3、为甚么要定义notifyAll? 因为在需要唤醒对方线程时。如果只用notify,容易出现只唤醒本方线程的情况。导致程序中的所以线程都等待。
|