读者和写者问题是操作系统中进程同步互斥的经典问题之一
问题描述:有两组并发进程,读者和写者,二者共享一个数据区,
要求:允许多个读者同时读,不允许读者和写者同时操作,不允许多个写者同时操作
问题分析:
1.有读者来 1)无读者、写者,新读者可以读
2)有写者等,但其他读者正在读,则新读者可以读
3)有写者写,则新读者等
2.有写者来 1)有写者写,则新写者等
2)有读者,则新写者等
3)无读者和写者,则新写者可以写
那么,我们可以通过以下信号量的P V操作来解决这个问题, Wmutux = 1; Rmutux=1; Readercount=0;