//基本变量
mutex=1;//临界区锁变量
empty=n;//空闲缓冲区数量,给producer校验
full=0;//有内容的缓冲区数量,给consumer校验,恒有full+empty=n
//生产者
void producer()
{
p(empty);//校验是否有空缓冲区
p(mutex);//校验通过,锁闭临界区
save();//事务代码
v(full);
v(mutex);//释放临界区
}
//消费者
void consumer()
{
p(full);
p(mutex);
load();//事务代码
v(empty);
v(mutex);
}
生产-消费者问题基本框架代码
最新推荐文章于 2022-07-21 11:49:37 发布