Java并发锁和条件使用

时间:2010-06-01 21:32:43

标签: java

我可以使用object.waitobject.notifysynchronized blocks来解决生产者消费者类型的问题。同时,我可以使用locks包中的conditionsjava.util.concurrent。我确信当我们可以使用object.waitnotify使线程在某些条件下等待队列为空或满时,我无法理解为什么我们需要条件。如果我们使用java.util.concurrent.locks.Condition,我们会获得其他任何好处吗?

1 个答案:

答案 0 :(得分:4)

This article提供了一个很好的解释:

  

正如Lock是一个概括   同步,Lock框架   包括等待和概括   通知叫做条件。一个Lock对象   充当条件的工厂对象   绑定到该锁的变量,和   不像标准的等待和   通知方法,可以有多个   与...相关的一个条件变量   一个给定的锁。