生产者-消费者问题 -(进程)-操作系统
作者:
热血沸腾 | 来源:发表于
2023-04-27 14:08 被阅读0次
image.png
image.png
image.png
生产者-消费者问题
semaphore full = 0; //同步信号量 代表产品数量,初始肯定是0 缓冲区->消费者
semaphore empty = 5; //同步信号量 代表空闲缓冲区的数量,初始肯定是5 缓冲区->生产者
semaphore mutex = 1; //缓冲区只有一份 是临界资源 互斥
//注意 实现互斥的P操作一定放在实现同步的P操作之后。先同步P后互斥P,否则产生死锁操作!
//生产者进程
productor{
生产数据; //不把这段代码放入在PV操作中是因为减少临界区代码,耗费时间,让更多进程使用临界区资源
P(empty);
P(mutex);
把产品放入缓冲区; //访问临界资源
V(mutex);
V(full);
}
consumer{
P(full);
P(mutex);
从缓冲区中取数据;//访问临界资源
V(mutex);
V(empty);
消费数据;//不把这段代码放入在PV操作中是因为减少临界区代码,耗费时间,让更多进程使用临界区资源
}
本文标题:生产者-消费者问题 -(进程)-操作系统
本文链接:https://www.haomeiwen.com/subject/jnobjdtx.html
网友评论