1.由于在技术上可能有多个任务在单个对象上出于wait()状态,因此使用notifyAll()比notify()更安全
2.notify()在众多等待同一个锁的任务中只有一个被唤醒,如果使用notify,必须保证被唤醒的是正确的任务;为了使用notify,所有任务必须等待相同的条件,如果有很多任务等待不同的条件,不能知道是否唤醒了正确的任务;当条件发生变化时,必须只有一个任务能从中受益。
注:notifyAll()不会唤醒所有正在等待的任务,而是因某个锁被调用时候,唤醒等待这个锁的全部任务
1.由于在技术上可能有多个任务在单个对象上出于wait()状态,因此使用notifyAll()比notify()更安全
2.notify()在众多等待同一个锁的任务中只有一个被唤醒,如果使用notify,必须保证被唤醒的是正确的任务;为了使用notify,所有任务必须等待相同的条件,如果有很多任务等待不同的条件,不能知道是否唤醒了正确的任务;当条件发生变化时,必须只有一个任务能从中受益。
注:notifyAll()不会唤醒所有正在等待的任务,而是因某个锁被调用时候,唤醒等待这个锁的全部任务