熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> 操作系統 >> 正文

二十 九陰真經之北航篇——生產者-消費者擴展

2013-11-15 15:56:09  來源: 操作系統 

生產者消費者擴展

  有n+個進程AA···An和B

  ()AA···An通過同一個緩沖池各自不斷地向B發送消息B不斷地取消息它必須取走發來的每個消息剛開始時緩沖區為空使用Pv操作實現之

  ()若緩沖區個數增至M個試用PV實現正確通訊

  這個問題較為簡單請讀者自行解決這裡給出參考答案

  

  The PV code Using Pascal

  

  var fullemptymutex:semaphore;

      full=;

     empty=;

     mutex=;

  cobegin

    procedure A_i(i=n)      procedure B:

      begin                      begin

     p(empty);                  P(full);

     p(mutex);                  p(mutex);

     put message to the buffer;      Get the message;

     v(mutex);                  v(mutex);

     v(full);                   v(empty);

     end                       end

 

    返回《操作系統之PV金典》


From:http://tw.wingwit.com/Article/program/czxt/201311/24247.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.