> The Exchanger class uses spin-waits that are hostile to some uses of > VirtualThreads. Improving this requires a means of estimating whether there > are many VirtualThreads with few carriers, which can be supported by adding a > method in class ForkJoinWorkerThread. This enables a reworking of the > exchange method, and can also be used to deal with similar issues in > LinkedTransferQueue and possibly elsewhere. We leave for now open whether > this method (hasKnownQueuedWork) should be public, which would allow users to > use it in similar contexts, at the possible expense of revealing too much > about current VT implementation
Doug Lea 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 five additional commits since the last revision: - Merge branch 'openjdk:master' into JDK-8338146 - Merge branch 'openjdk:master' into JDK-8338146 - Copyedit - Address review suggestions - Initial re-implementation ------------- Changes: - all: https://git.openjdk.org/jdk/pull/20554/files - new: https://git.openjdk.org/jdk/pull/20554/files/a25520bb..18ddba40 Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=20554&range=01 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=20554&range=00-01 Stats: 16217 lines in 511 files changed: 10366 ins; 3587 del; 2264 mod Patch: https://git.openjdk.org/jdk/pull/20554.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/20554/head:pull/20554 PR: https://git.openjdk.org/jdk/pull/20554