2 ms·
You normally see the virtual thread’s stack. Virtual threads are normally run on a fork join pool or other executor service, and can run on any OS thread in th
by aardvark179 4y ago
You normally see the virtual thread’s stack.
Virtual threads are normally run on a fork join pool or other executor service, and can run on any OS thread in that pool. They are not tied to any single OS thread.
Yes, it is easy to understand in a debugger as support has been added to the debugger interface and to JVMTI, along with some
Useful JFR events. We hope that in the future structured concurrency will make it even easier to understand huge numbers of virtual threads in production.
- anonymousDan 4y agoRight but the problem we had was that when you fired up the debugger (GDB) you could only see the stack traces of the currently active user level thread on each host thread. To understand what was going on in other user threads (e.g. who is holding what locks) you had to manually go into the scheduler data structures to find the descheduled threads etc, which was extremely tedious. If that all happens out of the box for Loom then that is great.