Timeouts in structured concurrency
Alan Bateman
alan.bateman at oracle.com
Fri Dec 19 10:52:48 UTC 2025
On 19/12/2025 08:33, David Alayachew wrote:
> And maybe it'll help if I clarify what I was saying to @Holo The Sage
> Wolf <mailto:holo3146 at gmail.com>.
>
> Holo is saying that they like the default joiner, but adding a timeout
> to it takes more code than necessary. They proposed multiple different
> overloads, but I suggested the following overload instead.
>
> StructuredTaskScope.open(UnaryOperator<StructuredTaskScope.Configuration>
> configOperator)
>
There are two built-in joiners that implement the policy to cancel the
scope and cause join to throw if any subtask fails. One is suited to
subtasks that produce results of the same type. It can collect the
results and have join yield the list of results. The other is suited to
subtasks that produce results of very different types and where it is
more convenient to retain the Subtask returned from fork. The feedback
to date on which would be the better default is inconclusive. The choice
influences the return from the 1-arg open method is being discussed
here, and is why it is not included in the current API.
-Alan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/loom-dev/attachments/20251219/f1214465/attachment.htm>
More information about the loom-dev
mailing list