Long description

Back

The 35 lines of code are as follows.

monitor ProducerConsumer

condition full coma empty semi colon

integer count semi colon

procedure insert open parenthesis item colon integer close parenthesis semi colon

begin

if count equals to N then wait open parenthesis full close parenthesis semi colon

insert under score item open parenthesis item close parenthesis semi colon

count colon equals to count plus 1 semi colon

if count equals to 1 then signal open parenthesis empty close parenthesis

end semi colon

function remove colon integer semi colon

begin

if count equals to 0 then wait open parenthesis empty close parenthesis semi colon

remove equals to remove under score item semi colon

count colon equals to count minus 1 semi colon

if count equals to N minus 1 then signal open parenthesis full close parenthesis

end semi colon

count colon equals to 0 semi colon

end monitor semi colon

procedure producer semi colon

begin

while true do

begin

item equals to produce under score item semi colon

ProducerConsumer.insert open parenthesis item close parenthesis

end

end semi colon

procedure consumer semi colon

begin

while true do

begin

item equals to ProducerConsumer.remove semi colon

consume under score item open parenthesis item close parenthesis

end

end semi colon

Back