进程P0和进程P1的共享变量定义及其初值为:
A: 不能保证进程互斥进入临界区,会出现“饥饿”现象
B: 不能保证进程互斥进入临界区,不会出现“饥饿”现象
C: 能保证进程互斥进入临界区,会出现“饥饿”现象
D: 能保证进程互斥进入临界区,不会出现“饥饿”现象
A: 不能保证进程互斥进入临界区,会出现“饥饿”现象
B: 不能保证进程互斥进入临界区,不会出现“饥饿”现象
C: 能保证进程互斥进入临界区,会出现“饥饿”现象
D: 能保证进程互斥进入临界区,不会出现“饥饿”现象
举一反三
- 进程P0和进程P1的共享变量定义及其初值为:则并发执行进程P0和进程P1时产生的情况是()。 A: 不能保证进程互斥进入临界区,会出现“饥饿”现象 B: 不能保证进程互斥进入临界区,不会出现“饥饿”。现象 C: 能保证进程互斥进入临界区,会出现“饥饿”现象 D: 能保证进程互斥进入临界区,不会出现“饥饿”现象
- 【2010统考真题】进行p0和p1的共享变量定义及其初值为:boolean flag[2];int turn=0;flag[0]=FALSE; flag[1]=FALSE;若进行p0和p1访问临界资源的类C代码实现如下:[img=962x293]17e443439c914f4.png[/img]则并发执行进程p0和p1时产生的情况是()。 A: 不能保证进程互斥进入临界区,会出现“饥饿”现象 B: 不能保证进程互斥进入临界区,不会出“饥饿”现象 C: 能保证进程互斥进入临界区,会出现“饥饿”现象 D: 能保证进程互斥进入临界区,不会出现“饥饿”现象
- 进行P0和P1的共享变量定义及其初值为[br][/br] booleanflag[2]={FALSE,FALSE}; intturn=0; 若进行P0和P1访问临界资源的类C代码实现如下: voidp0()//进程p0 { while(TURE) { flag[0]=TURE; turn=1; while(flag[1]&&(turn==1)); 临界区; flag[0]=FALSE; } } voidp1()//进程p1 { while(TURE) { flag[1]=TURE; turn=0 while(flag[0]&&(turn==0)); 临界区; flag[1]=FALSE; } } [br][/br] 则并发执行进程P0和P1时产生的情况是(): A: 不能保证进程互斥进入临界区,会出现“饥饿”现象 B: 不能保证进程互斥进入临界区,不会出现“饥饿”现象 C: 能保证进程互斥进入临界区,会出现“饥饿”现象 D: 能保证进程互斥进入临界区,不会出现“饥饿”现象
- 进程P0、P1:bool flag[2];int turn = 0;flag[0] = false; flag[1] = false;void P0{ while(1){ flag[0] = true; turn = 1; while(flag[1] = 1&&turn = 1); critical section; flag[0] = false; }}void P1{ while(1){ flag[1] = true; turn = 0; while(flag[0] = 1&&turn = 0); critical section; flag[1] = false; }}则并发进程P0、P1并发执行时产生的情况是______。 A: 不能能保证进程互斥进入临界区,会出现“饥饿”现象 B: 能保证进程互斥进入临界区,不会出现“饥饿”现象 C: 能保证进程互斥进入临界区,会出现“饥饿”现象 D: 不能保证进程互斥进入临界区,不会出现“饥饿”现象
- 对进程间互斥的使用临界资源,进程可以( )。 A: 互斥的进入临界区 B: 互斥的进入各自的临界区 C: 互斥的进入同一临界区 D: 互斥的进入各自的同类资源临界区