下面是一个并发进程的程序代码,[img=329x196]17d6037cce945f9.png[/img]正确的是( )。
A: 进程不会死锁,但是会“饥饿”
B: 进程不会死锁,也不会“饥饿”
C: 进程会死锁,也会“饥饿”
D: 进程会死锁,但是不会“饥饿”
A: 进程不会死锁,但是会“饥饿”
B: 进程不会死锁,也不会“饥饿”
C: 进程会死锁,也会“饥饿”
D: 进程会死锁,但是不会“饥饿”
举一反三
- 下面是一个并发进程的程序代码,正确的说法是()。semaphorex1=x2=y=1;intc1:c2=0:cobeginprocedureP1procedureP2P(x1);P(x2);if(++cl=1)P(y);if(++c2=1)P(y);V(x1);V(x2);computer(A);computer(B);P(x1);P(x2);if(--c1=0)V(y);if(--c2=0)V(y);V(x1);V(x2);endendcoend A: 进程不会死锁,也不会饥饿 B: 进程不会死锁,但是会饥饿 C: 进程会死锁,但是不会饥饿 D: 进程会死锁,也会饥饿
- 下面是一个并发进程的程序代码,正确的说法是______。 semaphore x1=x2=y=1; int c1=c2=0; P1()} P2(){ P(x1); P(x2); if(++c1==1) P(y); if(++c2==1) P(y); V(x1); V(x2); computer(A); computer(B); P(x1); P(x2); if(--c1==0) V(y); if(--c2==0) V(y); V(x1); V(x2); } } A: 进程不会死锁,也不会饥饿 B: 进程不会死锁,但是会饥饿 C: 进程会死锁,但是不会饥饿 D: 进程会死锁,也会饥饿
- 下面是一个并发进程的程序代码,正确的是() Semaphore xl=x2=y=1; int cl=c2=0; P1() [ while(1)[ P(x1); if(++c1=1)p(y); V(x1); computer(B); P(x1); f(--c1==0)V(y); V(x1); ] ] P2() [ while(1)[ P(x2); if(++c2==1)P(y); V(x2); computer(A); P(x2); if(--c2==0)(y); V(x2); ] ] A: 进程不会死锁,也不会“饥饿” B: 进程不会死锁,但是会“饥饿” C: 进程会死锁,但是不会“饥饿” D: 进程会死锁,也会“饥饿”
- 下面是一个并发进程的程序代码,正确的是()。 semaphore x1=x2=y=1; int c1=c2=0; P1( )P2( ) { { while(1) {while(1) {[br][/br] P(x1);P(x2);[br][/br] if(++c1==1) P(y);if(++c2==1) P(y);[br][/br] V(x1);V(x2);[br][/br] computer(A);computer(B);[br][/br] P(x1);P(x2);[br][/br] if(--c1==0) V(y);if(--c2==0) V(y);[br][/br] V(x1); V(x2);[br][/br] }}[br][/br] }} A: 进程不会死锁,也不会“饥饿” B: 进程不会死锁,但是会“饥饿” C: 进程会死锁,但是不会“饥饿” D: 进程会死锁,也会“饥饿”
- 进程P0和进程P1的共享变量定义及其初值为: A: 不能保证进程互斥进入临界区,会出现“饥饿”现象 B: 不能保证进程互斥进入临界区,不会出现“饥饿”现象 C: 能保证进程互斥进入临界区,会出现“饥饿”现象 D: 能保证进程互斥进入临界区,不会出现“饥饿”现象