提交 bc6e7eaf 编写于 作者: D dl

8080623: CPU overhead in FJ due to spinning in awaitWork

Reviewed-by: chegar, dholmes
上级 85da9ab0
......@@ -1323,13 +1323,16 @@ public class ForkJoinPool extends AbstractExecutorService {
/**
* Number of times to spin-wait before blocking. The spins (in
* awaitRunStateLock and awaitWork) currently use randomized
* spins. If/when MWAIT-like intrinsics becomes available, they
* may allow quieter spinning. The value of SPINS must be a power
* of two, at least 4. The current value causes spinning for a
* small fraction of typical context-switch times, well worthwhile
* given the typical likelihoods that blocking is not necessary.
* spins. Currently set to zero to reduce CPU usage.
*
* If greater than zero the value of SPINS must be a power
* of two, at least 4. A value of 2048 causes spinning for a
* small fraction of typical context-switch times.
*
* If/when MWAIT-like intrinsics becomes available, they
* may allow quieter spinning.
*/
private static final int SPINS = 1 << 11;
private static final int SPINS = 0;
/**
* Increment for seed generators. See class ThreadLocal for
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册