Thousands of share-nothing actors (fibers / green-threads) with first-class support for communication between them, for a start. Erlang/Elixir -- immutability as well.
Virtual threads can do that too.
What kind of software actually requires this? Honest question. Anything I can think of would probably be written by C++ devs
>share-nothing actors
although this is a deliberate choice rather than some accidental defect. Clojure went with STM as its concurrency model, if you're not buying into that and you want an Actor-centric language it's not the right choice to begin with.
"As a rule of thumb, if your application never has 10,000 virtual threads or more, it is unlikely to benefit from virtual threads."
https://docs.oracle.com/en/java/javase/21/core/virtual-threa...