semaphore mutex = 1;
semaphore db = 1;
int readercount = 0;
void Reader()
{
while(true)
{
P(mutex);
readercount ++;
if(readercount == 1)
P(db);
V(mutex);
//读数据
P(mutex); //读完了要走
readercount --;
if(readercount == 0)
V(db);
V(mutex);
}
}
void Writer()
{
P(db);
//写数据
V(db);
}