关于读者写者问题,下列叙述中哪些是错误的? 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的初值是0B.信号量mutex的初值是1C.计数器r

题目

关于读者写者问题,下列叙述中哪些是错误的? 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 rc是互斥资源么

D.语句P(mutex)的位置可以放到语句rc = rc + 1后面

E.语句①②可以取消


相似考题
更多“关于读者写者问题,下列叙述中哪些是错误的? Reader() { while (TRUE) { P(mutex); rc = rc ”相关问题
  • 第1题:

    下列哪个是合法的标识符?

    A.a++

    B.5R

    C.$5

    D.true


    _Haha

  • 第2题:

    在读者代码“rc--;If (rc==0) V(W);”中V(W)可能唤醒其它读者。


    错误

  • 第3题:

    采用信号量和P、V原语解决生产者—消费者问题时,设:信号量Empty对应空缓冲区资源,Full对应满缓冲区资源,Mutex用于访问共享缓冲池时的互斥,则下列进程描述()是正确的。

    A.生产者:P(Empty); P(Mutex); …; V(Mutex); V(Full) 消费者:P(Full); P(Mutex); …; V(Mutex); V(Empty)#B.生产者:P(Mutex); P(Empty); …; V(Mutex); V(Full) 消费者:P(Full):P(Mutex); …; V(Mutex); V(Empty)#C.生产者:P(Empty); P(Mutex); …; V(Mutex); V(Full) 消费者:P(Mutex); P(Full); …; V(Mutex); V(Empty#D.B、C均不正确
    生产者: P(Empty); P(Mutex); …; V(Mutex); V(Full) 消费者: P(Full); P(Mutex); …; V(Mutex); V(Empty)

  • 第4题:

    3、在读者代码 rc--; If (rc==0) V(W) 中V(W)可能唤醒其它读者。


    错误

  • 第5题:

    5、关于读者和写者问题,下列说法错误的是()

    A.如果有一个读者在读,其他读者也可以读,因此读者与读者之间不需要互斥。

    B.如果有一个读者读,其他写者就不能写,因此,读者和写者之间需要互斥。

    C.只要有一个写者写,其他写者就不能写,因此,写者和写者之间需要互斥。

    D.如果有多个读者,需要设一个共享变量来计数,这个共享变量是临界区


    允许多个读者同时读,不允许多个写者同时写,也不允许读者与写者同时访问