corda/classpath/java/util/concurrent/atomic
Joel Dice c0d178d5f1 implement ConcurrentHashMap and AtomicReferenceArray
This is the simplest possible ConcurrentHashMap I could come up with
that works and is actually concurrent in the way one would expect.
It's pretty unconventional, being based on a persistent red-black
tree, and not particularly memory-efficient or cache-friendly.  I
think this is a good place to start, though, and it should perform
reasonably well for most workloads.  Patches for a more efficient
implementation are welcome!

I also implemented AtomicReferenceArray, since I was using it in my
first, naive attempt to implement ConcurrentHashMap.

I had to do a bit of refactoring, including moving some non-standard
stuff from java.util.Collections to avian.Data so I could make it
available to code outside the java.util package, which is why I had to
modify several unrelated files.
2014-03-12 10:44:24 -06:00
..
AtomicBoolean.java Small simplfication on this if/else statement 2014-01-03 14:23:48 -07:00
AtomicInteger.java Start for a basic atomic implementation for avian. Still need to figure out how to do the Array versions of these. But I wanted to wait till we have the needed Unsafe implementation and add testing for these before we go further. 2014-01-02 13:01:13 -07:00
AtomicLong.java Start for a basic atomic implementation for avian. Still need to figure out how to do the Array versions of these. But I wanted to wait till we have the needed Unsafe implementation and add testing for these before we go further. 2014-01-02 13:01:13 -07:00
AtomicReference.java implement ConcurrentHashMap and AtomicReferenceArray 2014-03-12 10:44:24 -06:00
AtomicReferenceArray.java implement ConcurrentHashMap and AtomicReferenceArray 2014-03-12 10:44:24 -06:00