使用管程法解決生產者消費者問題

2021-10-09 18:59:48 字數 968 閱讀 7955

package com.test.thread;

/*測試生產者消費者模型-->利用緩衝區解決:管程法

生產者,消費者,產品,緩衝區

*/public

class

testpc

}//生產者類

class

productor

extends

thread

//生產雞!

@override

public

void

run()}

}//消費者類

class

consumer

extends

thread

//消費者消費

@override

public

void

run()}

}//產品類

class

chicken

}class

syscontainer

catch

(interruptedexception e)

}//容器沒有滿,就放入產品

chickens[count]

=chicken;

count++

;//通知消費者消費

this

.notifyall()

;}//消費者消費

public

synchronized chicken pop()

catch

(interruptedexception e)

}//有雞就可以消費

count--

; chicken chicken =chickens[count]

;//喚醒生產者生產

this

.notifyall()

;return chicken;

}}

生產者消費者模型 管程法

package thread 測試 生產消費者模型 利用緩衝區解決 管程法 public class pcthread 生產者 class product extends thread 生產 override public void run 消費者 class consumer extends th...

管程法實現生產者消費者模式

package monitormethod author 丟了風箏的線 see 測試管程法 public class test package monitormethod author 丟了風箏的線 see 存放商品的倉庫 public class warehouse catch interrupt...

生產者 消費者問題(管程法與訊號燈法)

應用場景 生產者和消費者問題 假設倉庫中只能存放一件產品,生產者將生產出來的產品放入倉庫,消費者將倉庫中產品取走消費.如果倉庫中沒有產品,則生產者將產品放入倉庫,否則停止生產並等待,直到倉庫中的產品被消費者取走為止.如果倉庫中放有產品,則消費者可以將產品取走消費,否則停止消費並等待,直到倉庫中再次放...