我需要实现多个生产者和一个消费者问题。 限制是我有两个生产者和一个消费者。消费者只有在收到两个生产者的通知时才应开始处理。直到那时消费者不应该做任何事情。但每个生产者都独立工作,他们可以继续生产。你能帮我做这件事吗? HSK
答案 0 :(得分:2)
创建两个blocking queues - 每个生产者一个。消费者知道两个队列,并尝试从每个队列中获取一个元素。 (它可以通过从一个到另一个来获取它。)当它从每个元素中获得一个元素时,它会处理它,然后重复。
如果一个生产者比另一个生产者快得多,你需要考虑你想要发生什么 - 你可能希望队列有界,并找出如果一个生产者“填满”其队列该怎么做。