消费者生产者

#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时候,缓冲为满

原文地址:https://www.cnblogs.com/macula7/p/1960374.html