-
Bug
-
Resolution: Fixed
-
P4
-
19
-
None
The default implementation of ExecutorService.close invokes shutdown and waits for the executor to terminate with awaitTermination. This doesn't play with the FJP common pool where shutdown is no-op and awaitTermination works like awaitQuiescence.
It doesn't make sense to close the common pool, but if code does invoke its close method then it will spin calling awaitTermination. One option would for commonPool to return a ForkJoinPool that overrides close to just wait forever or have ForkJoinPool override close.
It doesn't make sense to close the common pool, but if code does invoke its close method then it will spin calling awaitTermination. One option would for commonPool to return a ForkJoinPool that overrides close to just wait forever or have ForkJoinPool override close.
- csr for
-
JDK-8286341 ForkJoinPool.commonPool().close() spins
- Closed