阅读背景:

java 多线程 线程之间的协作 notify()和notifyAll()

来源:互联网 

    使用notify()而不是notifyAll()是一种优化。使用notify()时,在众多等待同一个锁的任务中只有一个会被唤醒,因此如果你希望使用notify(),就必须保证被唤醒的是恰当的任务。另外,为了使用notify(),所有任务必须等待相同的条件,因为如果你有多个任务在等待不同的条件,那么你就不会知道是否唤醒了恰当的任务。如果使用notify(),当条件发生变化时,必须只有一个任务能够从中受益。最后,这些限制对所有可能存在的子类都必须总是起作用。如果这些规则中有任何一条不满足,那么你就必须使用notifyAll()而不是notify()。    使用notify()而不是notifyAll()是一种优化。使用notify()时,在




你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: