Synchronization algorithms and concurrent programming - Taubenfeld, Gadi (Pearson/Prentice Hall, 2006)