Is there an existing solution to the multithreaded data structure problem?
- by thr
I've had the need for a multi-threaded data structure that supports these claims:
Allows multiple concurrent readers and writers
Is sorted
Is easy to reason about
Fulfilling multiple readers and one writer is a lot easier, but I really would wan't to allow multiple writers.
I've been doing research into this area, and I'm aware of ConcurrentSkipList (by Lea based on work by Fraser and Harris) as it's implemented in Java SE 6. I've also implemented my own version of a concurrent Skip List based on A Provably Correct Scalable Concurrent Skip
List by Herlihy, Lev, Luchangco and Shavit.
These two implementations are developed by people that are light years smarter then me, but I still (somewhat ashamed, because it is amazing work) have to ask the question if these are the two only viable implementations of a concurrent multi reader/writer data structures available today?