用条件变量来解决生产者消费者问题

在上一篇文章中,我使用了匿名信号量 什么是条件变量? 我们可以设想一个场景:线程A需要某个条件成立才能继续执行,否则一直等待下去,而线程B执行过程中使线程的执行条件成立,并且唤醒A。 举个例子,在生产者消费者模型中,消费者如果看到缓冲区为空时,就等待,而生产者往缓冲区添加完数据后,唤醒消费者。 其中这个场景中,可以POSIX的条件变量来实现。 以下是条件变量所需要的函数 pthread_cond_
相关文章
相关标签/搜索