有2个优先级相同的并发进程P1和P2,它们的执行过程如下图所示,x、y和z是共享变量。假设,当前信号量s1=0,s2=0,进程运行结束后,x、y和z的值分别为( )。 进程P1 进程P2 …… …… y:=20; x:=10; y:=y+1; x:=x+1; z:=y+1; P(s1); V(s1); x:=x+y; P:(s2); z:=x+z; y:=z+y; V(s2);
A: 33,42,22
B: 11,42,33
C: 33,76,55
D: 33,76,33
A: 33,42,22
B: 11,42,33
C: 33,76,55
D: 33,76,33
举一反三
- 有两个优先级相同的并发程序P1和P2,它们的执行过程如下所示。假设,当前信号量s1=0,s2=0.当前的z=2,进程运行结束后,x、y和z的值分别是。 进程P1 进程P2 。。。 。。。 y:=1; x:=1; y:=y+2; x:=x+1; z:=y+1; P(S1); V(s1); x:=x+y; P(s2); z:=x+z; y:=z+y; V(s2); 。。。
- 有2个优先级相同的并发进程P1和P2,它们的执行过程如下图所示,x、y和z是共享变量。假设,当前信号量s1=0,s2=0,进程运行结束后,x、y和z的值分别为( )。 进程P1 进程P2 …… …… y:=20; x:=10; y:=y+1; x:=x+1; z:=y+1; P(s1); V(s1); x:=x+y; P:(s2); z:=x+z; y:=z+y; V(s2); A: 33,42,22 B: 11,42,33 C: 33,76,55 D: 33,76,33
- 2个优先级相同的并发进程P1和P2,它们的执行过程如下所示,假设当前信号量s1=0,s2=0,当前的z=2,进程运行结束后,x、y和z的值分别为( )。 进程P1 进程P2 y:=1; x:=1; y:=y+2; x:=x+1; z:=y+1; P(s1); V(s1); x:=x+y; P(s2); z:=x+z; y:=z+y; V(s2); A: 5,9,9 B: 5,9,4 C: 5,12,9 D: 5,12,4
- 有两个优先级相同的并发进程P1和P2,它们的执行过程如下。设当前信号量s1=0,s2=0,当前z=2,进程运行结束后,x、y和z的值分别是( )。[br][/br]进程P1 进程P2[br][/br]y=1; x=1; [br][/br]y=y+2; x=x+1;[br][/br]z=y+1; P(s1);[br][/br]V(s1); x=x+y;[br][/br]P(s2); z=x+z;[br][/br]y=z+y; V(s2); A: 5,9,9 B: 5,9,4 C: 5,12,9 D: 5,12,4
- 有两个优先级相同的进程P1和P2,各自执行的操作如下,信号量S1和S2初值均为0。试问P1、P2并发执行后,x、y的值各为多少? P1: P2: begin begin y:=1; x:=1; y:=y+3; x:=x+5; V(S1); P(S1); z:=y+1; x:=x+y; P(S2); V(S2); y:=z+yend z:=z+x; end