首页 > 试题广场 >

下面对一个写者/多个读者问题的解法错在哪里? int rea

[问答题]
下面对一个写者/多个读者问题的解法错在哪里?
int readcount;        //共享,初值为0
Semaphore mutex, wrt;    //共享,初值为1
//写者            //读者
semWait ( mutex );
readcount := readcount + 1;
semWait (wrt);        if readcount == 1 then senWait ( wrt )
/*执行写操作 */        semSignal ( mutex);
semSignal ( wrt )    /* 执行读操作 */
semWait ( mutex);
readcount := readcount - 1;
if readcount == 0 then Up ( wrt);
semSignal ( mutex);

这道题你会答吗?花几分钟告诉大家答案吧!