多生产者多消费者

Untitled

在幼儿园,老师给孩子们分发水果。所有的水果放在一个大盘子里。男孩们喜欢吃苹果,女孩们喜欢吃橘子。一开始,盘子是空的,总共可以装5个苹果或橙子。

老师会把两者都放进去每次往盘子里放一个苹果或两个橘子。当她在盘子里放一个苹果时,一个男孩会拿去吃;当她放两个橙子进去时,一个女孩会拿起这两个橙子吃掉它们。 (1)请设计适当的基于信号量的过程来描述教师、男孩和女孩的行为。 (2)如果女孩每次得到三个橙子而不是两个,则对流程进行修改。 (3)你们的过程中会发生死锁吗?描述可能发生死锁的场景,或者解释为什么死锁不会发生。

多类型读-写者问题【2个读者队列,1个写者队列】

假设有A、B、C三类用户(每类用户有多个)对数据库中的共享数据DATA进行并 发读写,同步互斥要求如下 A类用户作为读者读DATA时,另外2类用户不允许访问DATA,但允许多个A 类用户同时访问DATA; 类似地,B类用户作为读者读DATA时,另外2类用户不允许访问DATA,但允 许多个B类用户同时访问DATA; 当1个C类用户作为写者修改DATA时,另外2类用户不允许访问DATA,同时也 不允许其它C类用户访问DATA

Untitled

牙科门诊

Untitled

Untitled

Untitled

2

一条装配线生产一种产品C,它有四个A零件和三个B零件。A机加工工人和B机加工工人每次分别生产两件A零件和一件B零件。然后将两个a部分或一个B部分移动到工作站,工作站最多可以容纳12个a部分和B部分。两个A零件必须同时上站。工人必须专门把零件放在车站或从车站取来。另外,生产C的工人必须一次拿到一件产品的全部A零件和B零件。 使用信号量来协调加工A件、B件和C件的三个工人,使产品不发生死锁。要求1)给出每个信号量的定义和初始值,2)给出协调三个工人生产过程的算法。

例题.pdf

方案1

Untitled

Untitled

Untitled

Untitled