作業系統PV原語練習(2)

2021-08-31 18:20:19 字數 754 閱讀 7341

題目描述:

有乙個倉庫,可以存放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操作執行後釋放空間。接下來分析購書與收費的流程,現實生活中購書付款是顧客提出繳費的要求後,收銀員才能進行收費。所以收銀員預設是處於待機狀態即阻塞狀...