问答题
试画出下面四条语句的前趋图,并用相应的PV操作实现各语句的同步关系
S1:a=x+2;S2:b=y+4;
S3:c=a+bS4:d=c+6
【正确答案】前趋图如下:
[*]
设信号量a,b,c如图,初始值为0。
S1: S2: S3: S4:
… … P(a); P(c);
V(a); V(b); P(b); …
V(c);
[解析] 解前趋图此类题,从图中可看出,一个箭头就是一个同步关系,每个箭头都设置一个同步信号量,且初值都为0,对于每一个同步关系,例如S1到S3,在箭头发出的那个进程的程序段最后加V操作,在箭头指向的那个进程的程序段开头加P操作,因此在S1的代码段后面加V(a),在S3的代码段前面加P(a),其它同步关系与此类似。
【答案解析】