北交大操作系统作业-读者写者问题.docVIP

  • 1
  • 0
  • 约2千字
  • 约 4页
  • 2017-03-13 发布于重庆
  • 举报
北交大操作系统作业-读者写者问题

写者优先方案: int readcount, writecount; initial value 0 semaphore mutex_1, mutex_2, mutex_3, w, r ; initial value 1 READER P mutex_3 ; //是控制读进程的队列的P mutex_3 能执行完后等在这一句的读者最多只有1个。 P r ; // 判断有没有写进程在临界区,有的话等待,没有的话不让新的写进程进来 P mutex_1 ; // mutex 1保证对readcount的互斥访问,防止多个reader对readcount的写操作 readcount : readcount + 1; if readcount 1 then P w ; //第一个读进程需要判断是否有写进程在进行写操作,有的话需要等待,没有的话不让写进程进行新写操作 V mutex_1 ; //结束对readcount的互斥访问 V r ; //归还锁,让写进程可以进临界区 V mutex_3 ; reading is done P mutex_1 ;//保证readercount不被多个读操作同时修改 readcount : readcount - 1; if readcount 0 then V w ;//最后一个离开临界区的读进程需要归

文档评论(0)

1亿VIP精品文档

相关文档