推荐阅读读者优先或写者优先
本篇博客是从读者优先的角度看的, 所谓读者优先是指除非有写者在写文件,否则读者不需要等待。
一、含义
一个数据文件或记录可被多个进程共享,我们把只要求读该文件的进程称为“Reader进程”,其他进程则被称为“Writer进程”
1.1 要点
- 允许多个进程同时读一个对象,因为读操作不会使数据文件混乱。
- 不允许一个Writer进程和其他Reader进程或Writer进程同时访问共享对象,因为这种访问将会引起混乱。
Reader-Writer问题的本质:是保证一个Writer进程必须与其他进程互斥地访问共享对象的同步问题。
1.2 信号量实现
适合读者数量没有上限时: