Trunk's updated to use an AtomicLong.  Masking was slowish.  I'm just
resetting it to zero when it is found to exceed Integer.MAX_VALUE,
which fulfills the original contract of the class, which is to
guarantee Integer.MAX_VALUE unique values per second (and maybe a few
more, depending).  Any fallacies in that?

> Slight problem with newUniqueID(), though. Synchronizing on incr doesn't do
> anything. How about using AtomicLong and masking out the high bits?

Reply via email to