写者优先算法
麻烦大家帮我看一下下面地写者优先算法,测试时大部分情况下能构得到正确地结果,但是偶尔会出错,并且出错地概率不是很大,但是肯定有问题,不知道问题处在何处,问老师老师也说不清
HANDLE hDataMutex
HANDLE hOpMutex
HANDLE hCMutex
int counter=0
void read()
{
p(hOpMutex)
//read the data
v(hOpMutex)
}
void write()
{
p(hCMutex);
if(counter==0)
p(hOpMutex);
counter++;
v(hCMutex);
p(hDataMutex);
//write the data
v(hDataMutex);
p(hCMutex);
counter--;
if(counter==0)
v(hOpMutex);
v(hCMutex);
}