Thread Active

 
Bounded Buffer Collaboration Diagram

Thread Waits

 

Producer

 

Bounded Buffer

 

Consumer

 
 

 

 


Init: NBuffEmpty=1, NBuffFull=0

 

PutBuff: NBuffEmpty > 0{yes

NBuffFull+; NBuffEmpty-;}

 

 

 

PutBuff: NBuffEmpty > 0{no}

 

 

 

PutBuff: NBuffEmpty >0{yes

NBuffFull+; NBuffEmpty-;}

 

 

 

GetBuff: NBuffFull > 0 {no}

 

 

 

 

 

 

NBuffEmpty +; NBuffFull-;

}

 

GetBuff: NBuffFull > 0 {yes

NbuffEmpty+; NBuffFull-;}

 

 

 

 

 

NBuffEmpty +; NBuffFull-;

}