On Thu, 26 Feb 2026 07:26:15 GMT, Alan Bateman <[email protected]> wrote:

>> Thread.join was historically implemented with a loop of Object.wait 
>> conditioned on isAlive. We couldn't for this virtual threads because it 
>> would pin a virtual thread invoking join to it carrier.  Now that 
>> Object.wait preempts, it means the special implementation of join for 
>> virtual threads can be removed. Where possible, the notifyAll is elided as 
>> it adds to the cost of termination.
>> 
>> The implNote of the join methods is restored (this is implNote text, not 
>> spec, so no CSR required).
>> 
>> Testing: tier1-5
>
> Alan Bateman 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 seven additional 
> commits since the last revision:
> 
>  - Remove unused import
>  - Merge branch 'master' into JDK-8378268
>  - Merge branch 'master' into JDK-8378268
>  - Avoid notifyAll if no join
>  - Merge branch 'master' into JDK-8378268
>  - Merge branch 'master' into JDK-8378268
>  - Remove joinNanos

Thank you Alan, looks good to me.

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

Marked as reviewed by jpai (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/29839#pullrequestreview-3859741358

Reply via email to