in reply to I prefer to:

I prefer lightweight user-level threads, like ruby threads. They are ideal for both simple coroutines and hiding the select calls.