生产者与消费者
生产者(A)与消费者(B)关系
1.当A工作效率大于B时,例如A 生产 100字节/秒,B消费 80字节/秒时,会导致buffer数据溢出怎么办?丢弃数据不现实,考虑用写时阻塞?但有些场景是不允许阻塞,例如打电话录音时,阻塞意味着丢失数据,所以只能加快B的工作效率,如第2种情况;
2.当A工作效率小于B时,例如A 生产 80字节/秒,B消费 100字节/秒时,buffer不足100字节时,B需要阻塞等待有足够的数据。阻塞等待可采用什么方法??
阻塞等待方法一:条件变量