进程P0和进程P1的共享变量定义及其初值为:则并发执行进程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: 不能保证进程互斥进入临界区,不会出现“饥饿”现象
- 对于两个并发进程,设置互斥信号量mutex(初值为1),若mutex=0,则( )。 A: 表示没有进程进入临界区 B: 表示有一个进程进入临界区 C: 表示有一个进程进入临界区,另一个进程等待 D: 表示有两个进程进入临界区