# pipo_buffer **Repository Path**: Cation_git/pipo_buffer ## Basic Information - **Project Name**: pipo_buffer - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-29 - **Last Updated**: 2025-08-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Pipo Buffer pingpong操作的缓冲区c语言实现板 借鉴了pingpong操作的思想,实现了一个缓冲区,可以实现多个生产者和多个消费者的同步通信。 尝试缓解消费与生产速率不匹配的问题。 当前状态:进行中,初步验证后续或许会有优化或修改。 ## 编译运行 ``` gcc -o pipo_buffer pipo_buffer.c ./pipo_buffer ``` ## 运行结果: ``` 生产: 0 消费: 0 (缓冲区0:1/10) 生产: 1 消费: 1 (缓冲区0:2/10) 生产: 2 生产: 3 消费: 2 (缓冲区0:3/10) 生产: 4 生产: 5 消费: 3 (缓冲区0:4/10) 生产: 6 生产: 7 消费: 4 (缓冲区0:5/10) 生产: 8 生产: 9 消费: 5 (缓冲区0:6/10) 生产: 10 生产: 11 消费: 6 (缓冲区0:7/10) 生产: 12 生产: 13 消费: 7 (缓冲区0:8/10) 生产: 14 生产: 15 消费: 8 (缓冲区0:9/10) 生产: 16 生产: 17 消费: 9 (缓冲区0:10/10) 生产: 18 生产: 19 消费: 10 (缓冲区1:1/10) 生产: 20 生产: 21 消费: 11 (缓冲区1:2/10) 生产: 22 生产: 23 消费: 12 (缓冲区1:3/10) 生产: 24 生产: 25 消费: 13 (缓冲区1:4/10) 生产: 26 生产: 27 消费: 14 (缓冲区1:5/10) 生产: 28 生产: 29 消费: 15 (缓冲区1:6/10) 生产: 30 生产: 31 消费: 16 (缓冲区1:7/10) 生产: 32 生产: 33 消费: 17 (缓冲区1:8/10) 生产: 34 生产: 35 消费: 18 (缓冲区1:9/10) 生产: 36 生产: 37 消费: 19 (缓冲区1:10/10) 生产: 38 生产: 39 消费: 20 (缓冲区2:1/10) 生产: 40 生产: 41 消费: 21 (缓冲区2:2/10) 生产: 42 生产: 43 消费: 22 (缓冲区2:3/10) 生产: 44 生产: 45 消费: 23 (缓冲区2:4/10) 生产: 46 生产: 47 消费: 24 (缓冲区2:5/10) 生产: 48 生产: 49 消费: 25 (缓冲区2:6/10) 生产者完成 消费: 26 (缓冲区2:7/10) 消费: 27 (缓冲区2:8/10) 消费: 28 (缓冲区2:9/10) 消费: 29 (缓冲区2:10/10) 消费: 30 (缓冲区3:1/10) 消费: 31 (缓冲区3:2/10) 消费: 32 (缓冲区3:3/10) 消费: 33 (缓冲区3:4/10) 消费: 34 (缓冲区3:5/10) 消费: 35 (缓冲区3:6/10) 消费: 36 (缓冲区3:7/10) 消费: 37 (缓冲区3:8/10) 消费: 38 (缓冲区3:9/10) 消费: 39 (缓冲区3:10/10) 消费: 40 (缓冲区0:1/10) 消费: 41 (缓冲区0:2/10) 消费: 42 (缓冲区0:3/10) 消费: 43 (缓冲区0:4/10) 消费: 44 (缓冲区0:5/10) 消费: 45 (缓冲区0:6/10) 消费: 46 (缓冲区0:7/10) 消费: 47 (缓冲区0:8/10) 消费: 48 (缓冲区0:9/10) 消费: 49 (缓冲区0:10/10) 消费者完成,共消费 50 个数据 ```