利用快取區存放資料
package com.faq.gaoji;
//測試:生產者消費者模型-->利用緩衝區解決:管程法
//生產者、消費者、產品、緩衝區
public
class
testpc
}//生產者
class
productor
extends
thread
//生產
@override
public
void
run()}
}//消費者
class
consumer
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]
;//吃完了,通知生產者生產
this
.notifyall()
;return chicken;}}
輸出:生產了0隻雞
生產了1隻雞
生產了2隻雞
。。。。。
生產了98隻雞
消費了--
->
97隻雞
消費了--
->
98隻雞
生產了99隻雞
消費了--
->
99隻雞
。。。。。。。
多執行緒(管程法)
管程法 什麼是管程法?就是併發協作模型 生產者 消費者模式 實現方式的一種。思想 1.首先需要四個角色 1.生產者2.消費者3.緩衝區4.饅頭 2.生產者生產饅頭放到緩衝區,緩衝區如果滿了,生產者停止運作,進入等待 3.消費者從緩衝區拿饅頭,如果緩衝區饅頭沒有了,先喚醒生產者,然後進入等待 協作模型...
多執行緒20 管程法
解決方式1 併發協作模型 生產者 消費者模式 管程法 思路 1.首先有乙個生產者,消費者 生產者只顧生產,消費者只管消費 2.利用了乙個緩衝區,緩衝了乙個10個大小的陣列 3.有個方法叫放入產品,產品丟進來的時候,我們判斷一下緩衝區有沒有滿,如果滿了的話,生產者就要等待了,如果沒有滿,就將產品放進去...
多執行緒 23 併發協作 管程法
併發協作模型生產者消費者模式的第一種管程法,它的核心要點是加了緩衝區,有了緩衝區之後,生產者和消費者之間解耦了,比如超市的中間商,生產者向中間商發商品,超市向中間商進商品,而生產者並不知道商品買給誰了。分析這個模型有幾個角色 第乙個角色生產者,第二個角色消費者,它們兩個是多執行緒,第三個是併發容器也...