On Mon, 14 Aug 2023 11:52:00 GMT, Doug Lea <d...@openjdk.org> wrote:

>> Addresses Jdk 8288899 : java/util/concurrent/ExecutorService/CloseTest.java 
>> failed with "InterruptedException: sleep interrupted" and related issues.
>> 
>> This is a major ForkJoin update (and hard to review -- sorry) that finally 
>> addresses incompatibilities between ExecutorService and ForkJoinPool (which 
>> claims to implement it), with the goal of avoiding continuing bug reports 
>> and incompatibilities. Doing this required reworking internal control to use 
>> phaser/seqlock-style versioning schemes (affecting nearly every method) that 
>> ensure consistent data structures and actions without requiring global 
>> synchronization or locking on every task execution that would massively 
>> degrade performance. The previous lack of a solution to this was the main 
>> reason for these incompatibilities.
>
> Doug Lea has updated the pull request with a new target base due to a merge 
> or a rebase. The incremental webrev excludes the unrelated changes brought in 
> by the merge/rebase. The pull request contains 45 additional commits since 
> the last revision:
> 
>  - Merge branch 'openjdk:master' into JDK-8288899
>  - Update @since tags
>  - resync
>  - Merge branch 'openjdk:master' into JDK-8288899
>  - ExecutorService tests
>  - Merge branch 'openjdk:master' into JDK-8288899
>  - Rework versioning
>  - Merge branch 'openjdk:master' into JDK-8288899
>  - Merge branch 'openjdk:master' into JDK-8288899
>  - Merge branch 'openjdk:master' into JDK-8288899
>  - ... and 35 more: https://git.openjdk.org/jdk/compare/211154b9...585769c9

src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java line 1823:

> 1821:                 WorkQueue[] qs; int n;
> 1822:                 if ((qs = queues) != null && (n = qs.length) > 0) {
> 1823:                     for (int k = n, m = n - 1;  ; id += 2) {

@DougLea Might make sense to create a constant each for worker-queue stride and 
submission-queue stride so it becomes easier to reason about the `2` here.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/14301#discussion_r1297385745

Reply via email to