I are very excited about this proposal to add lightweight threads to Java.
As I have talked at JVMLS , our own customized OpenJDK version has
implemented some similar mechanism proposed by loom(we called this as Wisp
internally), which is already widely deployed in Alibaba production
environment. A couple of core ecommerce applications (running in very large
scale cluster) are running on top of Wisp. By this way, we achieved 10+%
CPU saving, lots of thread context switches could be reduced by transferring
from thread to coroutine.
More specifically, our implementation is relying on the continuation
primitive support made by  , which is part of MLVM project. Moreover,
we added our own scheduler(fully written in Java) to support coroutine
yielding at almost all possibly blocked places in OpenJDK, including:
Our goal is to allow Java developers to write in synchronous but gain
performance of asynchronous for free, they just change a couple of line of
code and do some parameter configuration, the control transferring between
coroutines is totally handled by underlying JDK transparently.
We are interested in contributing to this project.