ForkJoinPool的poll方法,为啥线程一直在执行Thread.yield()忙等待导致打满cpu
ForkJoinPool.java中pool方法源码如下: final ForkJoinTask> poll() { int b, k, cap; ForkJoinTask>[] a; while ((a = array) != null && (cap = a.length) > 0 && top - (b = base) > 0) { ForkJoinTask> t = (ForkJoinTask>) QA.getAcquire(a, k = (cap - 1) & b); if (base == b++) { if (t == null) Thread.yield(); // await index advance else if (QA.compareAndSet(a...阅读全文