▲ | xmcqdpt2 2 days ago | |
The trickiest problems with VT aren't due to mutability. Mutability is problematic with any kind of concurrent programs. The difficult problems are execution problems like pinning. There are plenty of existing concurrency libraries on the JVM (Cats Effect, clojure async, Kotlin coroutines, RxJava, quarkus, etc etc). The promise of VT is that you will no longer need those for scheduling and execution of work (whether that's tasks, fibers, coroutines, actors etc.) This only works if you use VTs throughout, not just on IO pools. |