预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

1缓冲区1PC() {While(1) {P(full2); 从缓冲区2取一个记录; V(empty2); 打印记录;}}Intempty1=1,empty2=1,full1=0,full2=0; main() {Cobegin PA(); PB(); PC(); Coend}2、公共汽车上,司机和售票员的活动分别为:例:司机P1售票员P2REPEATREPEAT启动关门正常运行售票到站停开门UNTILFALSEUNTILFALSE解:设信号量S1:是否允许司机启动汽车,初值为0 信号量S2:是否允许售票员开门,初值为03、桌上有一空盘,允许存放一只水果。爸爸可向 盘中放苹果,也可向盘中放桔子,儿子专等吃盘中 的桔子,女儿专等吃盘中的苹果。规定当盘空时一 次只能放一只水果供吃者取用,请用P,V原语实 现爸爸,儿子女儿三个进程的同步。解:设三个信号量, S:表示盘子是否为空,初值为1 So:表示盘中是否有桔子,初值为0 Sa:表示盘中是否有苹果,初值为0;father() { While(1) { P(S); 将水果放入盘中; If(放入的是桔子) v(So); Elsev(Sa); }}