根据下面的程序,判断以下哪些叙述是错误的。( ) reader() { while(TRUE){ P(mutex); rc=rc+1; if(rc==1)P(w); V(mutex);① 读操作; P(mutex);② rc=rc-1;

admin2022-07-04  42

问题 根据下面的程序,判断以下哪些叙述是错误的。(          )
reader()
{
while(TRUE){
P(mutex);
rc=rc+1;
if(rc==1)P(w);
V(mutex);①
读操作;
P(mutex);②
rc=rc-1;
if(rc==0)V(w);
V(mutex);
其他操作;
}
}
writer()
{
while(TRUE){
...
P(w);
写操作;
V(w);
}
}

选项 A、信号量w的初值是0
B、计数器rc的初值是0
C、信号量mutex的初值是1
D、语句P(mutex)的位置可以放到语句rc=rc+1之后
E、语句①②可以省略

答案A,DE

解析 信号量w是为了互斥访问写操作,初始值为1;P(mutex)是为了互斥访问rc这一临界资源,不能修改其执行顺序;语句①②的存在使得多个reader可以同时访问,不能取消。因此,本题答案选择A、D、E选项。
转载请注明原文地址:https://kaotiyun.com/show/9tyZ777K
0

最新回复(0)