关于读者写者问题,下列叙述中哪些是错误的?( ) reader() { while(TRUE){ P(mutex); rc=rc+1: if(rc==1)P(w); V(mutex); ①

admin2019-05-20  32

问题 关于读者写者问题,下列叙述中哪些是错误的?(    )
  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、信号量mutex的初值是1
C、计数器rc的初值是0
D、语句P(mutex)的位置可以放到语句rc=rc+1后面
E、语句①②可以取消

答案A,D,E

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

最新回复(0)