En cuanto al ejemplo en Wikipedia: http://en.wikipedia.org/wiki/CoroutineCoroutine vs programación dirigida por eventos
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
Me pregunto enfoque basado en el tradicional evento puede manejar este tipo de patrón de uso, ¿por qué es necesario utilizar corrutina?
Gracias por las excelentes recomendaciones de blog! – realjin