关于读者写者问题,下列叙述中哪些是错误的? 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.语句①②可以取消
第1题:
下列哪个是合法的标识符?
A.a++
B.5R
C.$5
D.true
第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均不正确第4题:
3、在读者代码 rc--; If (rc==0) V(W) 中V(W)可能唤醒其它读者。
第5题:
5、关于读者和写者问题,下列说法错误的是()
A.如果有一个读者在读,其他读者也可以读,因此读者与读者之间不需要互斥。
B.如果有一个读者读,其他写者就不能写,因此,读者和写者之间需要互斥。
C.只要有一个写者写,其他写者就不能写,因此,写者和写者之间需要互斥。
D.如果有多个读者,需要设一个共享变量来计数,这个共享变量是临界区