mirror of
https://github.com/corda/corda.git
synced 2025-06-13 12:48:18 +00:00
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.
This commit is contained in:
@ -63,7 +63,7 @@ public class HashSet<T> extends AbstractSet<T> implements Set<T> {
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return Collections.toString(this);
|
||||
return avian.Data.toString(this);
|
||||
}
|
||||
|
||||
private static class MyIterator<T> implements Iterator<T> {
|
||||
|
Reference in New Issue
Block a user