Java's virtual threads are M:N.
>> Preemptive scheduling plus M:N mapping
AFAIK, in the current implementation, Java's virtual threads yields only when they block (cooperative). But the spec allows a JVM to implement them as preemptive.
Well, they do only yield on block and whatnot, but that's very much different from adding manual async/await keywords, I would say.
>> Preemptive scheduling plus M:N mapping
AFAIK, in the current implementation, Java's virtual threads yields only when they block (cooperative). But the spec allows a JVM to implement them as preemptive.
Well, they do only yield on block and whatnot, but that's very much different from adding manual async/await keywords, I would say.