3 ms·
Yeah there are some nice libraries, my preference is Akka, but I think Java needs real native coroutines: https://en.wikipedia.org/wiki/Coroutine https://en.wi
by leorocky 12y ago
Yeah there are some nice libraries, my preference is Akka, but I think Java needs real native coroutines:
https://en.wikipedia.org/wiki/Coroutine https://en.wikipedia.org/wiki/Coroutine
https://en.wikipedia.org/wiki/Coroutine#Implementations_for_Java https://en.wikipedia.org/wiki/Coroutine#Implementations_for_...
- eranation 12y agoAkka doesn't have native coroutines / lightweight threads, it relies on regular JVM threads. it does reuse them for Actors but it dons't do the same things as Qasar (user level threads via bytecode instrumentation). I'm a big Scala and Akka fan, but thought it's worth noting.
- leorocky 12y agoAkka is a library not an extension of the JVM so it would not be able to provide native features to Java. I didn't know that Quasar did more. One is able to write much better concurrent code with Akka than with vanilla Java but I think you can still run into threading issues where Java makes this unavoidable, like when playing with audio.
- eeperson 12y agoQuasar also relies on JVM threads. Akka's lightweight actors are just as native as Quasar's lightweight threads.
- pron 12y ago(main Quasar author): Akka actors are nothing like Quasar fibers (or even Quasar actors). Quasar provides true lightweight threads - though they're not "native" to the JVM, they're as real as Erlang's processes or Go's goroutines - while Akka actors are a formal way to organize asynchronous callbacks.