On Thu, 25 May 2023 08:21:39 GMT, Alan Bateman <al...@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 I've rewritten all my tests to use the new API, it works ! https://github.com/forax/loom-fiber/tree/java21 One surprising thing is that Subtask.get() give less leeway to the owner thread than to the other virtual threads so in onComplete() storing a Subtask to use it later by the owner thread does not work well if join() is not called yet. This is perhaps a bit too much. Anyway, good for me ! ------------- PR Comment: https://git.openjdk.org/jdk/pull/13932#issuecomment-1568813363