The open jdk project "Loom" supports virtual thread which allows the classic IO-blocking API to enjoy the great benefits of async, reactor, coroutine development styles.
I searched it on youtube, I learned that the most important magic of virtual thread is the "resizable stack" in this video.

That's why millions of virtual threads can be created and blocked.
I am very interested in how the "resizable stack" is implemented.
- Is it a contiguous memory segment or a discontinuous linked list structure?
- Is its performance high enough?
- Function can be called by both platform threads and virtual threads. Will there be a performance penalty due to the need to determine what situation the current execution is in?