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
