[concurrency-interest] Numa and ReentrantLock
dl at cs.oswego.edu
Fri Aug 27 08:37:40 EDT 2010
> Hi Doug,
> I have a requirement where-in I spin by calling "trylock()" a configured
> number of times before i go in for a blocking version.
> Something like adaptive spinning on intrinsic locks.
Yes, this is an intended common use for tryLock -- we in the
library don't know if/how you'd like to do adaptive spins,
but we try to make it easy to do so.
> My only concern is this spinning is on a single variable which would be on
> remote memory for all but one thread on NUMA machines.
This is unlikely to be a major concern, but you might heuristically
improve good-citizenship by occasionally invoking Thread.yield()
if you spin a lot. For example, yield every 64 spins. This has no
guaranteed effects, but in practice helps.
> Concurrency-interest mailing list
> Concurrency-interest at cs.oswego.edu
More information about the Concurrency-interest