1. A method comprising: accessing a shared memory associated with a reader-writer lock according to a first concurrency mode; maintaining a count of a number of accesses according to the first concurrency mode that abort, wherein the count is associated with a group of reader-writer locks including the reader-writer lock, the group corresponding to reader-writer locks accessed by a first thread of a plurality of threads; dynamically changing from the first concurrency mode to a second concurrency mode based on a comparison between the count and a threshold, wherein the first concurrency mode comprises an optimistic concurrency mode in which the shared memo is accessed before the reader-writer lock is analyzed and the second concurrency mode comprises a pessimistic concurrency mode in which a write access to the shared memory is not permitted until the reader-writer lock is analyzed; and accessing the shared memory according to the second concurrency mode.