目錄
題目描述 互斥
同步 變形
同步家裡有乙個盤子
爸爸給盤子裡面放蘋果,女兒吃蘋果
媽媽給盤子裡面放桔子,兒子吃桔子
爸爸媽媽兒子女兒互斥盤子
設互斥訊號量mx初=1
1盤子中沒有蘋果時
當且僅當爸爸放蘋果 女兒取蘋果
2盤子滿時
當且僅當女兒或者兒子取爸爸媽媽都可以用
empty初=0
3盤子沒桔子
當且僅當媽媽放桔子 女兒取桔子
orange初=0
爸爸 :
p(empty)
p(mx)
放蘋果v(mx)
媽媽
p(empty)兒子p(mx)
放桔子v(mx)
v(orange)
p(orange)
p(mx)
取桔子
v(mx)
v(orange)
女兒
p(mx)
取蘋果v(mx)
盤子只可以放乙個水果
也就是說排除了互斥的情況
爸爸給盤子裡放水果(蘋果或者桔子)女兒或者兒子取
1當盤子空
當且僅當爸爸往盤子中放桔子,兒子才可以從盤子中取桔子,設orange初=0
2當盤子滿時
當且僅當女兒或者兒子從盤子裡面取水果爸爸才可以放水果入盤子
爸爸
p(empty)
放水果
if(放桔子) {
v(orange)
}if(放蘋果){
}
女兒
取蘋果v(empty) 兒子
p(orange)
取桔子v(empty)
作業系統,生產者 消費者問題詳解
生產者 消費者問題 分析問題,確定臨界區 設定互斥訊號量,初值為1 臨界區之前對訊號量執行p操作臨界區之後對訊號量執行v操作分析問題,找出 需要實現 一前一後 的同步關係 設定同步訊號量,初始值為0 在 前操作 之後執行v操作在 後操作 之前執行p操作分析問題,畫出前驅圖,把每一對前驅關係都看成乙個...
生產者消費者 生產者與消費者模式
一 什麼是生產者與消費者模式 其實生產者與消費者模式就是乙個多執行緒併發協作的模式,在這個模式中呢,一部分執行緒被用於去生產資料,另一部分執行緒去處理資料,於是便有了形象的生產者與消費者了。而為了更好的優化生產者與消費者的關係,便設立乙個緩衝區,也就相當於乙個資料倉儲,當生產者生產資料時鎖住倉庫,不...
生產者消費者
using system using system.collections.generic using system.threading namespace gmservice foreach thread thread in producers q.exit console.read public...