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

Reply via email to