Preface Acknowledgments 1 Introduction Ⅰ PRINCIPLES 2 Mutual Exclusion 3 Concurrent Objects 4 Foundations of Shared Memory 5 The Relative Power of Primitive Synchronization Operations 6 Universality of Consensus Ⅱ PRACTICE 7 Spin Locks and Contention 8 Monitors and Blocking Synchronization 9 Linked Lists: The Role of Locking 10 Concurrent Queues and the ABA Problem 11 Concurrent Stacks and Elimination 12 Counting, Sorting, and Distributed Coordination 13 Concurrent Hashing and Natural Parallelism 14 Skiplists and Balanced Search 15 Priority Queues 16 Futures, Scheduling, andWork Distribution 17 Barriers 18 Transactional Memory Ⅲ APPENDIXBibliography Index