I am trying to design a linked list in c++ that allows concurrent access. Clearly using a single lock for this list is grossly inefficient since disjoint areas may be updated in
What about Skip Lists? Have a look at java implementation in "concurrent" package.