Virtual Threads: A Short Note about Naming

We started with fibers. Then we found out that people think it's a new concept they have to learn (which is further complicated because "fiber" is used to refer to superficially-similar-yet-essentially-different concepts elsewhere) rather than just a user-mode implementation of threads. The different name then became even less justified when we started representing our user-mode threads as java.lang.Thread. We then considered "lightweight threads." The problem with giving an absolute name to a relative concept is that one day we may have threads that are even lighter-weight than lightweight threads, and what would we call those? "User-mode threads" is correct but perhaps too technical. So we're going with "virtual threads." The name is intended to evoke the similarity of the relationship our usermode threads have with kernel threads to that between virtual and physical memory. The name has the advantage of familiarity on one the one hand as well as not clashing with potentially confusing similar-but-not-quite usages on the other. A test run of "virtual threads" at Devoxx looked promising. - Ron