7.读者——写者问题

读者——写者问题

一个数据文件或记录可被多个进程共享。其中,有些进程要求读;而另外一些进程要求写或修改。只要求读的进程称为“Reader进程”,其余进程称为“Writer进程”。容许多个Reader进程同时读一个共享对象,不容许一个Writer进程和其余Reader进程或Writer进程同时访问共享对象。安全

所谓读者——写者问题是指保证一个Writer进程必须与其余进程互斥地访问共享对象的同步问题。对象

信号量设置

  • 为解决一个Writer进程和其余Reader进程互斥,设互斥信号量Wmutex
  • 设置整型变量Readercount表示正在读的进程数目
  • Readercount是一个可被多个Reader进程访问的临界资源,为它设置互斥信号量Rmutex。
  • 仅当Readercount = 0表示无Reader进程在读时,Reader进程才须要执行p操做。若p操做成功,Reader进程即可去读。

使Readercount+1,缘由是:Readercount>0,说明已有Reader进程在安全的读数据进程

相关文章
相关标签/搜索