Duplicate :
|
|
Relates :
|
|
Relates :
|
In 8u, CompletableFuture calls Runtime.availableProcessors during spin in waitingGet: private Object waitingGet(boolean interruptible) { ... while ((r = result) == null) { if (spins < 0) spins = (Runtime.getRuntime().availableProcessors() > 1) ? 1 << 8 : 0; // Use brief spin-wait on multiprocessors Unfortunately, that falls victim to JDK-8227006, which makes it too costly. This is fixed in 9 with JDK-8134851, but that patch is too large and intrusive to backport to 8u. Therefore, we should consider backporting the small part of that patch that deals with availableProcessors handling.
|