ウィキペディアの例について:http: //en.wikipedia.org/wiki/Coroutine
var q := new queue
coroutine produce
loop
while q is not full
create some new items
add the items to q
yield to consume
coroutine consume
loop
while q is not empty
remove some items from q
use the items
yield
従来のイベントベースのアプローチでこの種の使用パターンを処理できるのではないかと思いますが、なぜコルーチンを使用する必要があるのでしょうか。