java一个锁两个监视器

class Resource
{
private String name;
private int count = 1;
private boolean flag = false;

// 创建一个锁对象。
Lock lock = new ReentrantLock();

//通过已有的锁获取该锁上的监视器对象。

// Condition con = lock.newCondition();

//通过已有的锁获取两组监视器,一组监视生产者,一组监视消费者。
Condition producer_con = lock.newCondition();
Condition consumer_con = lock.newCondition();


通过一个锁获取了2个监视器。怎么确保producer-con监视producer(生产者)。。。然后consumer-con监视consumer(消费者)呢。。。想了好久不明白、、

2个回答

消费者-生产者问题的关键在于,需要保证 读取-数据处理/判断-写回 三者原子事务性,所以需要加锁。一般来说只要1个就足够了。
你的程序用了2个,看下代码才能明白作者想干嘛。

生产消费者模型一个condition就可以了,生产者,消费者都用它,生产者有数据了就通过它通知消费者开始干活

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!