resource bb() import buffer procedure produce_item (int item) { writes("producer produces item:", item) write() nap((item mod 17)*100) } procedure consume_item (int item) { writes("consumer processes item:", item) write() nap((item mod 13)*100) } procedure producer() { int item for [i=1 to 50] { item = i; produce_item(item) buffer.enter(item) } } procedure consumer() { int item for [i=1 to 50] { item = i item = buffer.remove() consume_item(item) } } co producer () // consumer () // producer () // consumer () oc end bb