執行緒通訊 管程法

2021-10-08 03:39:58 字數 943 閱讀 4402

public

class

testpc

}//生產者

class

productor

extends

thread

//生產

@override

public

void

run()}

}//消費者

class

coustomer

extends

thread

//消費

@override

public

void

run()}

}//產品

class

chicken

}//緩衝區

class

syncontainer

catch

(interruptedexception e)

}//沒有滿,放入產品

chickens[count]

= chicken;

count++

;this

.notify()

;//通知消費者進行消費

}//消費者消費產品

public

synchronized chicken pop()

catch

(interruptedexception e)

}//如果可消費

count--

; chicken chicken = chickens[count]

;//通知生產者生產

生產者消費者模式 多執行緒通訊 管程法

管程法 使得生產者與消費者通過中間容器 管道 進行資料的互動,而不產生直接的互動。通過生產和消費相互制約,阻塞和喚醒。三個重要組成部分 生產者 class producer extends thread 消費者 class customer extends thread 中間管道 class psy...

執行緒 執行緒協作 管程法

wait 讓執行緒堵塞 notifyall 通知執行緒接觸堵塞mq 的思想,列 生產者生產,消費者消費,通過緩衝區 生產者生產100個摸頭,消費者買饅頭。消費者從緩衝區取饅頭,如果饅頭已賣完,就進入等待,等生產者做饅頭,放到容器裡,再通知消費者取饅頭,如果生產者已經再容器裡生產100個 則 進入等待...

多執行緒(管程法)

管程法 什麼是管程法?就是併發協作模型 生產者 消費者模式 實現方式的一種。思想 1.首先需要四個角色 1.生產者2.消費者3.緩衝區4.饅頭 2.生產者生產饅頭放到緩衝區,緩衝區如果滿了,生產者停止運作,進入等待 3.消費者從緩衝區拿饅頭,如果緩衝區饅頭沒有了,先喚醒生產者,然後進入等待 協作模型...