读者优先是最简单的情况,因此不做过多阐述
//读者优先
int rcount = 0;
semaphore file; //用于读者和写者互斥访问
semaphore rmutex; //用于读者进程互斥修改rcountwriter()
{
P(file);
do_writing;
V(file);
}reader()
{
P(rmutex);
if(rcount == 0)
P(file);
rcount++;
V(rmutex);
do_reading;
P(rmutex);
rcount--;
if(rcount == 0)
V(file);
V(rmutex);
}
读者-写者问题1--读者优先
最新推荐文章于 2022-03-01 23:53:35 发布