题50
题目
Q:有两个优先级相同的并发程序
假设当前信号量
当前的
// 进程 P1
...
y := 1;
y := y + 2;
z := y + 1;
V(s1);
P(s2);
y := z + y;
...// 进程 P2
...
x := 1;
x := x + 1;
P(s1);
x := x + y;
z := x + z;
V(s2);
...A.
B.
C.
D.
分析
A:V是释放,P是申请
- 由于进程并发, 因此进程的执行具有不确定性
- 在
执行到第一个 操作前, 应该是相互无关的 - 现在考虑第一个对
的 操作 - 由于进程
是 操作 - 因此它必须等待
执行完 操作后才可继续运行 - 此时的
值分别是
- 因此它必须等待
- 当进程
执行完 后便在 上阻塞 - 此时
可以运行直到 - 此时的
值分别是
- 此时的
- 进程
继续运行到结束 - 最终的
值分别为
- 最终的
- 由于进程
解
C