问题
单项选择题
读者写者问题的解决方案如下所示。
Begin
①______;
read_count:=read_count+1;
if read_count=1
then P(write);
②______;
读文件;
③______;
read_count:=read_count-i;
if read_count=0
then V(write);
④______;
End
假设信号量mutex表示对read_count共享变量所关注的互斥区进行互斥,那么,①、②、③和④处应该填写的语句是( )。
A.P(mutex)、P(mutex)、V(mutex)、V(mutex)
B.P(mutex).V(mutex)、P(mutex)、V(mutex)
C.V(mutex).V(mutex)、P(mutex)、P(mutex)
D.V(mutex)、P(mutex)、V(mutex)、P(mutex)
答案
参考答案:B
解析: ①③处需要申请进入互斥区对。read_count变量进行操作;②④处退出对read_count变量进行操作的互斥区。所以正确答案为B。