IMHO, they are the right abstraction on top of event-loops. Every major server platform, especially - JVM, CLR, should support them.
I would be very much interested in context-switch data of server applications for Threads vs. Coroutines loads.
IMHO, they are the right abstraction on top of event-loops. Every major server platform, especially - JVM, CLR, should support them.
I would be very much interested in context-switch data of server applications for Threads vs. Coroutines loads.
It's one of my favorite features of Lua and lets you do async-anything in a really nice and clean manner with minimal overhead.
IIRC, you're using a thread pool under the hood, and you sort of have to opt-in: if you're trying to write your own async code, for example, you need to schedule it in a way that's slightly more complicated than just saying `go myFunc()`, but it's possible.
As for the JVM, libraries like Akka and Quasar already provide this, although possibly not as performantly as if the runtime itself provided it?