Long description

Back

The 24 lines of code are as follows.

hash define N 100 forward slash asterisk number of slots in the buffer asterisk forward slash

void producer open parenthesis void close parenthesis

open curly bracket

int item semi colon

message m semi colon forward slash asterisk message buffer asterisk forward slash

while open parenthesis TRUE close parenthesis open curly bracket

item equals to produce under score item open close parenthesis semi colon forward slash asterisk generate something to put in buffer asterisk forward slash

receive open parenthesis consumer coma &m close parenthesis semi colon forward slash asterisk wait for an empty to arrive asterisk forward slash

build under score message open parenthesis &m coma item close parenthesis semi colon forward slash asterisk construct a message to send asterisk forward slash

send open parenthesis consumer coma &m close parenthesis semi colon forward slash asterisk send item to consumer asterisk forward slash

close curly bracket

close curly bracket

void consumer open parenthesis void close parenthesis

open curly bracket

int item coma i semi colon

message m semi colon

for open parenthesis i equals to 0 semi colon i less than N semi colon i plus plus close parenthesis send open parenthesis producer coma &m close parenthesis semi colon forward slash asterisk send N empties asterisk forward slash

while open parenthesis TRUE close parenthesis open curly bracket

receive open parenthesis producer coma &m close parenthesis semi colon forward slash asterisk get message containing item asterisk forward slash

item equals to extract under score item open parenthesis &m close parenthesis semi colon forward slash asterisk extract item from message asterisk forward slash

send open parenthesis producer coma &m close parenthesis semi colon forward slash asterisk send back empty reply asterisk forward slash

consume under score item open parenthesis item close parenthesis semi colon forward slash asterisk do something with the item asterisk forward slash

close curly bracket

close curly bracket

Back