DirectBufferAllocTest fails after replacement of Thread.sleep() with Thread.onSpinWait()
Сергей Цыпанов
sergei.tsypanov at yandex.ru
Tue Jun 21 11:35:12 UTC 2022
> The takeaway from this exercise is that loops with sleeps can't always be replaced by loops that busy-wait.
> Functionally the logic is the same, but you can't just ignore the concurrency aspects.
Thanks for explanation!
> Which indicates yielding is having a similar effect to sleeping - though I would expect it to be less pronounced.
May I ask one last question about this: in general case when we don't care about particular wait time (like in j.n.Bits.reserveMemory())
should I prefer Thread.yield() over both Thread.sleep() and Thread.onSpinWait() providing that Thread.sleep() is expensive
and Thread.onSpinWait() might cause undesirable side effects?
Regards,
Sergey Tsypanov
More information about the core-libs-dev
mailing list