Virtual Threads: A Short Note about Naming

Ron Pressler ron.pressler at
Thu Nov 21 12:07:37 UTC 2019

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

More information about the loom-dev mailing list