Designing lock-based concurrent data structures

TODO