Executors.newVirtualThreadPerTaskExecutor() leaks CompletableFuture
Kasper Nielsen
kasperni at gmail.com
Tue Mar 14 20:41:14 UTC 2023
Hi,
I don't know if it is much of an issue in practice but you can cast the
futures returned from Executors.newVirtualThreadPerTaskExecutor
to CompletableFuture:
ExecutorService e = Executors.newVirtualThreadPerTaskExecutor();
CompletableFuture f = (CompletableFuture<?>) e.submit(() -> {});
Other executors return instances of FutureTask which is probably less
likely to be abused.
/Kasper
More information about the loom-dev
mailing list