#define BUFFER_SIZE=10
typedef struct{
...
}item;
item buffer[BUFFER_SIZE];
int in=0;
int out=0;
生产者:
while(1)
{
while((in+1)%BUFFER_SIZE==out)
;//缓冲满了,啥也不干
buffer[in]=。。。
in=(in+1)%BUFFER_SIZE;
}
消费者
while(1)
{
while(in==out)
;//缓冲没东西了,啥也不干
nextConsumed=buffer[out];
out=(out+1)%BUFFER_SIZE;
}
当in==out的时候,缓冲为空,当(in+1)%BUFFER_SIZE==out时候,缓冲为满