Linux生产者与消费者(321原则)
3种关系
生产者与消费者的互斥与同步关系
生产者与生产者的互斥/竞争关系
消费者与消费者的互斥/竞争关系
2种角色
生产者:往交易场所放东西(在计算机中一般都是数据)的人
消费者:从交易场所取东西的人
1个交易场所
内存中具有存储数据的一段有界缓冲区
规则
生产者优先:消费者永远不能追上消费者/生产者;
生产者不能将消费者包一圈。
基于单链表的生产者消费模型
两个线程表示生产者与消费者,用单链表表示缓冲区
生产者生产数据,插入到单链表的头部
消费者消费数据,从单链表的头部读取数据