<div dir="ltr"><div class="gmail_default" style="font-family:monospace">> If the API allowed Subtask::get to be used<br>> before join then it would be very fragile as it<br>> would be like a "wait-less"  Future::get. It<br>> might work sometimes, but if a subtask were<br>> slow then Subtask::get would throw ISE.<br><br>Can you explain this in more detail? I don't understand what you are saying here.</div></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Wed, Sep 24, 2025 at 1:52 PM Alan Bateman <<a href="mailto:alan.bateman@oracle.com">alan.bateman@oracle.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><u></u>

  
  <div>
    <br>
    <br>
    <div>On 24/09/2025 16:37, Remi Forax wrote:<br>
    </div>
    <blockquote type="cite">
      <pre>:

And now two remarks,
 - is there a way to remove the limitation that the main thread (the one that have created the STS) can not access to SubTask.get(),
   because there is at least a case where i know that the task is finished before join() is called (see below).</pre>
    </blockquote>
    <br>
    This restriction is there to ensure that the API is used as
    intended. Subtasks are forked individually and then joined as a
    unit. If the API allowed Subtask::get to be used before join then it
    would be very fragile as it would be like a "wait-less" 
    Future::get. It might work sometimes, but if a subtask were slow
    then Subtask::get would throw ISE.<br>
    <br>
    <blockquote type="cite">
      <pre> - is there a way to get a joiner that returns the list of subtask in the order if their completeness, not in the order of onFork() ?

</pre>
    </blockquote>
    A Joiner can collect in its onComplete method so that will give you
    completion order. That said, I suspect you might be asking something
    different. Are you thinking about APIs such as CompletionService
    where you get a wakeup as subtasks complete rather join as a unit?<br>
    <br>
    -Alan<br>
  </div>

</blockquote></div>