題目描述:
有乙個倉庫,可以存放a 和b 兩種產品,但要求:
(1)每次只能存入一種產品(a 或b);
(2)-n<a 產品數量-b 產品數量<m。其中,n 和m 是正整數。
試用同步演算法描述產品a 與產品b 的入庫過程。
思路如下:
題目中沒有說倉庫的大小,假設預設是無限量
每次能存放乙個產品,互斥的訪問倉庫,設定乙個倉庫的互斥訊號量
題目中限制(2)主要可以解毒為,相鄰的連續放a的次數,連續放b的次數,兩者之差要符合要求
分別設定兩個訊號量即可,初值分貝為a的訊號量為m ,b的訊號量為n
訊號量a初始值-b的最小值要=m 而初始b的最小值為0,得到a訊號量值為m
同理得到訊號量b
比如放a要a先獲取其自己訊號量,成功放了後,增加b的訊號量
b類似這樣的流程就能保證約束(2)
**如下:
public class problem_07
private static class db
private static class a implements runnable catch (interruptedexception e) finally }}
}private static class b implements runnable catch (interruptedexception e) finally }}
}}
作業系統實驗 P V原語應用分析
1 windows作業系統中p操作對應的函式是 waitforsingleobject 了解此函式的功能 2 windows作業系統中v操作對應的函式是 releasesemaphore 了解此函式的功能 3 實現p v操作。有兩個執行緒hthread1和hthread2共同使用乙個緩衝區資源buf...
作業系統 PV操作
1.pv原語的含義 p操作和v操作是不可中斷的程式段,稱為原語。pv原語及訊號量的概念都是由荷蘭科學家e.w.dijkstra提出的,其基本思路是用一種新的變數型別 semaphore 來記錄當前可用資源的數量。訊號量sem是一整數,sem大於等於零時代表可供併發程序使用的資源實體數,但sem小於零...
作業系統 PV操作
分析 進入書店p sn 與離開書店v sn 操作對應題目中的 該書店最多允許n個購書者進入 因為假如進入書店的人數超過了最大的限制,p操作會被阻塞,知道v操作執行後釋放空間。接下來分析購書與收費的流程,現實生活中購書付款是顧客提出繳費的要求後,收銀員才能進行收費。所以收銀員預設是處於待機狀態即阻塞狀...