//这是读写问题的伪码
while(true){
p(rmutex); //申请读,对rmutex互斥,没写者则成功,有写者则挂起
if readcount=0 then //读申请成功,如果是第一个读者,则挂起写者
p(wmutex);
readcount:=readcount+1; //读者人数加一
v(rmutex); //释放rmutex
读文件;
…
p(rmutex); //同上面(只是减一)
readcount:=readcount-1;
if readcount=0 then //如果没有读者了,则释放wmutex
v(wmutex);
v(rmutex);
}