三 Linux--多线程( 六 )


  • 生产者慢,消费者快

三 Linux--多线程

文章插图
生产生产者生产完一个数据,数据信号量加1,空间信号量减1,然后消费者里马消费了一个数据,数据信号量减1,空间信号量加1,此时数据信号量为0,消费者再去申请数据信号量,申请不到就挂起等待,只能等生产者在去生产释放空间信号量,然后消费者才可以申请到 。可以看出的是,队列长时间是空的,二者步调一致,速度随生产者 。

经验总结扩展阅读