用訊號量及其PV操作處理實際問題

2022-06-03 17:48:10 字數 1042 閱讀 2298

將生產者和消費者問題深入理解、融會貫通。

1.書上課後練習p187-43

semaphore sugar,water,orange,s;

sugar=0;water=0;orange=0;s=1

process produce()

while(true)

p(s)

/*放入原料*/

if 放入糖 than v(sugar)

if 放入水 than v(water)

if 放入橘子精 than v(orange)

process p1()

while(true)

p(orange)

/*取出原料*/

v(s)

/*製作橘子汁*/

process p2()

while(true)

p(sugar)

/*取出原料*/

v(s)

/*製作橘子汁*/

process p3()

while(true)

p(water)

/*取出原料*/

v(s)

/*製作橘子汁*/

2.ipo問題:有多個輸入程序、多個處理程序和多個輸出程序。輸入程序把資料逐步輸入到乙個有m個單位緩衝區b1上,經處理程序處理之後放到有n個單位的緩衝區b2上,由輸出程序進行輸出。

這個問題有哪些程序?程序之間有什麼樣的制約關係?

輸入程序、處理程序、輸出程序。程序之間為同步關係

用訊號量及pv操作寫出這些程序之間的同步演算法。

semaphore b1full=0, b1empty=m, b2full=0, b2empty=n,mutex=1;

cobegin

process input()

process p()

process out()

3.探索哲學家問題的正確解法。

用訊號量及其PV操作處理實際問題

將生產者和消費者問題深入理解 融會貫通。1.書上課後練習p187 43 int b semaphore empty 可用的緩衝區數 semaphore full 緩衝區內可用的產品數 empty 1 緩衝區內允許放入一件產品 full 0 緩衝區內沒有產品 semaphore 糖,水,橘子精 cob...

用訊號量及其PV操作處理實際問題

43 現有3個生產者p1 p2 p3,他們都要生產橘子汁,每個生產者都已分別購得兩種不同的原料,待購齊第三種原料後就可配製成橘子汁裝瓶 有一 商能源源不斷的 糖 水 橘子精,但每次只拿出一種原料放入容器中 給生產者。當容器中有原料時,需要這種原料的生產者可以取走,當容器空時 商又可放入一種原料。假定...

使用者訊號量及其PV操作處理實際問題

p187 43 cemaphore empty 1 橘子精 0 糖 0 水 0 process product while true p empty 產生乙個隨機數s if s 0 v 橘子精 if s 1 v 水 if s 2 v 糖 process p1 process p2 process p...