假设缓冲区大小为10,生产者、消费者若干。只要缓冲区池未满,生产者便可以将消息送入缓冲区池,只要缓冲区池未空,消费者便可以从缓冲区中取走一个消息。
items代表缓冲区可使用的资源数,space代表缓冲区可用资源数
mutex表示互斥锁
buf[10]代表缓冲区,内容类型为item
in、out代表第一个资源和最后一个资源(i即in最早产生的资源)
var items=0,sapce=10,mutex=1;
var in=0,out=0;
item buf[10]={
NULL};
producer{
while(true