读者-作者问题

Code:
  1. var Rcount:integer;   
  2.     Rmutex,Wmutex:semaphore;   
  3.     Rcount := 0;   
  4.     Rmutex := 1;   
  5.     Wmutex := 1;   
  6.        
  7. codebegin   
  8.   
  9. process reader   
  10. begin   
  11.     P(Rmutex)   
  12.     if Rcount = 0 then P(Wmutex)   
  13.     Rcount := Rcount + 1;   
  14.     V(Rmutex)   
  15.        
  16.     读文件   
  17.        
  18.     P(Rmutex)   
  19.     Rcount := Rcount - 1;   
  20.     if Rcount = 0 then V(Wmutex)   
  21.     V(Rmutex)    
  22. end   
  23.   
  24. process writer   
  25. begin   
  26.     P(Wmutex)   
  27.     写文件   
  28.     V(Wmutex)   
  29. end   
  30.   
  31. codeend    
  32.       

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值