RFR: 8306647: Implementation of Structured Concurrency (Preview) [v2]

Paul Sandoz psandoz at openjdk.org
Thu May 25 20:24:59 UTC 2023


On Thu, 25 May 2023 08:21:39 GMT, Alan Bateman <alanb at openjdk.org> wrote:

>> This is the implementation of:
>> 
>> - JEP 453: Structured Concurrency (Preview)
>> - JEP 446: Scoped Values (Preview)
>> 
>> For the most part, this is just moving code and tests.  StructuredTaskScope moves to j.u.concurrent as a preview API, ScopedValue moves to j.lang as a preview API, and module jdk.incubator.concurrent has been removed. The significant API changes since incubator are:
>> 
>> - StructuredTaskScope.fork returns Subtask instead of Future (JEP 453 has a section on this)
>> - ScopedValue.where methods are replaced with runWhere, callWhere and getWhere
>
> Alan Bateman has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 12 commits:
> 
>  - Sync up from loom repo
>  - Remove csm.Threads
>  - Merge
>  - Test should not be in update for main line
>  - Sync with loom repo
>  - Sync up tests frmo loom repo
>  - Sync up with loom repo
>  - Sync update API/impl/tests
>  - Merge
>  - Sync up with loom repo
>  - ... and 2 more: https://git.openjdk.org/jdk/compare/89f2d458...e92ba524

src/java.base/share/classes/java/util/concurrent/StructuredTaskScope.java line 473:

> 471:     /**
> 472:      * Ensures that the current thread is the owner of this task scope and that it joined
> 473:      * (with {@link #join()} or {@link #joinUntil(Instant)} after {@linkplain #fork(Callable)

Suggestion:

     * (with {@link #join()} or {@link #joinUntil(Instant)}) after {@linkplain #fork(Callable)

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

PR Review Comment: https://git.openjdk.org/jdk/pull/13932#discussion_r1205969173


More information about the hotspot-dev mailing list