On Tue, 6 Dec 2022 10:16:38 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.

Marked as reviewed by rpressler (Committer).

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

PR: https://git.openjdk.org/jdk/pull/11533

Reply via email to