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

一 真經之銀行排隊問題[2]

2013-11-15 15:57:25  來源: 操作系統 

 process serversi(i=n)

  begin

  repeat

  p(customer_count);

  p(mutex);

  從隊列中取下一個號碼

  v(mutex);

  為該號碼持有者服務

  end

 coend

 

思考

某車站售票廳任何時刻最多可容納名購票者進入當售票廳中少於名購票者時則廳外的購票者可立即進入否則需在外面等待若把一個購票者看作一個進程請回答下列問題

)用PV操作管理這些並發進程時應怎樣定義信號量寫出信號量的初值以及信號量各種取值的含義

)若欲購票者最多為n個人寫出信號量可能的變化范圍(最大值和最小值)

定義信號量S初值為s>它表示可以繼續進入購票廳的人數s=時表示廳內已有人正在購票s<|S|表示正等待進入的人數

 

The PV code Using Pascal

 

var S:semaphore;

S=;

 cobegin

 procedure P_i:

  begin

  p(s);

   ·

  Enter and buy ticket;

    ·

  v(s)

  end

 coend

 

最大值為最小值為N

 

 

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

[]  []  


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