RFR: 8347039: ThreadPerTaskExecutor terminates if cancelled tasks still running

Viktor Klang vklang at openjdk.org
Tue Jan 14 10:08:36 UTC 2025


On Fri, 10 Jan 2025 13:32:39 GMT, Alan Bateman <alanb at openjdk.org> wrote:

> The thread-per-task-executor returned by Executors.newVirtualThreadPerTaskExecutor will terminate without waiting for threads that are still executing cancelled tasks. This is different to ThreadPoolExecutor and ForkJoinPool that wait for the threads to finish executing the cancelled tasks. Note that issue with TPTE is specific to Callable tasks, Runnable tasks are not impacted. The change is to override FutureTask.run instead of FutureTask.done. Test coverage is expanded to cover this case.

LGTM

-------------

Marked as reviewed by vklang (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/23036#pullrequestreview-2549285706


More information about the core-libs-dev mailing list