On Thu, 8 Dec 2022 07:21:13 GMT, Alan Bateman <al...@openjdk.org> wrote:
>> The implementation of Thread.yield for virtual threads is currently a "lazy >> submit". This means the task for the virtual thread is queued to the >> carrier/worker local queue without signalling other threads. This behavior >> can be surprising/unfair when there are tasks in the submission queues, say >> when a platform thread has started or unparked a virtual thread. >> >> Ron, Doug Lea, Viktor Klang and I have discussed this topic and propose to >> change Thread.yield to use "external submit" when the local task queue is >> empty, and to push to the local queue when not empty. The change improves >> the fairness but will of course increase the chances that repeated >> Thread.yield will bounce between carriers. > > 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 five additional > commits since the last revision: > > - Merge > - Fix typo in test comment > - Reduce instanceof checks > - Update > - Initial commit Marked as reviewed by jpai (Reviewer). ------------- PR: https://git.openjdk.org/jdk/pull/11533