Re:Java Virtual Threads: A Case Study
by troupo on Wednesday July 17, 2024 @04:36PM
(#40990092)
Because they don't create 4k real threads, and can be scheduled on n=CPU Cores OS threads
[ Parent
| on HN ]
4k "real" threads can also be scheduled on 4 CPU cores. What's the difference?
Real threads are extremely expensive both in terms of memory and CPU time compared to virtual threads. I think the main issue is not even that but context switching when switching threads which is also very expensive.
Virtual threads usually require significantly fewer resources to spawn and run. And, if the underlying system is implemented with them in mind, they can use fewer context switches, and possibly even fewer cache misses etc.