Monitor: Problemas Clássicos
- O BUFFER Circular
CircularBuffer: Monitor; declare(Buffer(5))character(80)varying; declare(head,tail,#Buffers,#Full)fixed; declare(BufferVacant,BufferOccupied)condition; do Head=1; Tail=1; #Buffers=5; #Full=0; end; Spool: Entry(Contents); ... end Spool; UnSpool: Entry(Contents); ... end UnSpool; end CircularBuffer;