使用pthread条件变量的多个消费者和多个生产者的同步问题?

时间:2018-04-03 08:53:28

标签: pthreads producer-consumer

the case

三个生产者,每个都有一个队列。两个消费者从特定队列和公共队列消耗msg。如何将它们与pthread_cond同步?

1 个答案:

答案 0 :(得分:0)

问题可能需要更准确的规范。一般情况下,当队列变为非空时,只让生产者发信号(对于单个消费者)或广播(如果生产者3有多个消费者)。

消费者只是尽可能快地工作,当他们从中读取的队列被发现时,他们会睡着。保护关键部分内的所有队列访问。

如果您需要进一步澄清,请添加评论,我会根据需要详细说明。