Best Practice for Busy Waiting in Java

Markus KARG markus at headcrashing.eu
Sun Jun 15 16:49:52 UTC 2025


Seems you misunderstood my question. It was *not* what is best to do. It 
was: "Does the core-libs team have a common-sense / best practice for 
busy-wait.". The latter is a clear and concise question, and the answer 
could be as simple as "yes" or "no".

Am 15.06.2025 um 18:40 schrieb Archie Cobbs:
> Just MHO...
>
> This is kind of like asking "What's the best way to waste electricity?"
>
> It's a nebulous question until you specify what "best" means in this 
> odd scenario....
>
> -Archie
>
> On Sun, Jun 15, 2025 at 11:09 AM Markus KARG <markus at headcrashing.eu> 
> wrote:
>
>     Recently I was asked by a programmer, what to do if there simply
>     is no
>     other way than actually busy-wait.
>
>     I see several options:
>
>     * Do nothing: Costs valuable CPU time and increases carbon footprint.
>
>     * Do a power-nap: Thread.sleep(1)
>
>     * Be fair: Thread.yield() gives other threads a chance to execute in
>     this time slot.
>
>     * Be eco-friendly: Thread.onSpinWait() could reduce carbon footprint.
>
>     * A combination of that, like "Thread.yield(); Thread.onSpinWait();"
>
>     As all of that has its pros and cons, and as all of that works
>     differently on each hardware platform, I do wonder if there is some
>     common sense / best practice for busy wait (other than "Replace it
>     using
>     async") in the core-libs team?
>
>     Thanks!
>
>     -Markus
>
>
>
>
>
> -- 
> Archie L. Cobbs
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/core-libs-dev/attachments/20250615/4ddd6d2c/attachment.htm>


More information about the core-libs-dev mailing list