The art of multiprocessor programming (2008)

by M Herlihy, N Shavit