COVID-19 Update: We are currently shipping orders daily. However, due to transit disruptions in some geographies, deliveries may be delayed. To provide all customers with timely access to content, we are offering 50% off Science and Technology Print & eBook bundle options. Terms & conditions.
The Art of Multiprocessor Programming - 2nd Edition - ISBN: 9780124159501, 9780123914064

The Art of Multiprocessor Programming

2nd Edition

Authors: Maurice Herlihy Nir Shavit Victor Luchangco Michael Spear
Paperback ISBN: 9780124159501
eBook ISBN: 9780123914064
Imprint: Morgan Kaufmann
Published Date: 8th September 2020
Page Count: 576
Sales tax will be calculated at check-out Price includes VAT/GST
Price includes VAT/GST

Institutional Subscription

Secure Checkout

Personal information is secured with SSL technology.

Free Shipping

Free global shipping
No minimum order.


The Art of Multiprocessor Programming, Second Edition, provides users with an authoritative guide to multicore programming. This updated edition introduces higher level software development skills relative to those needed for efficient single-core programming, and includes comprehensive coverage of the new principles, algorithms, and tools necessary for effective multiprocessor programming. The book is an ideal resource for students and professionals alike who will benefit from its thorough coverage of key multiprocessor programming issues.

Key Features

  • Features new exercises developed for instructors using the text, with more algorithms, new examples, and other updates throughout the book
  • Presents the fundamentals of programming multiple threads for accessing shared memory
  • Explores mainstream concurrent data structures and the key elements of their design, as well as synchronization techniques, from simple locks to transactional memory systems


Students in multiprocessor and multicore programming courses and engineers working with multiprocessor and multicore systems

Table of Contents

1. Introduction
2. Mutual Exclusion
3. Concurrent Objects and Linearization
4. Foundations of Shared Memory
5. The Relative Power of Synchronization Methods
6. The Universality of Consensus
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 and Work Distribution
17. Barriers
18. Transactional Memory


No. of pages:
© Morgan Kaufmann 2020
8th September 2020
Morgan Kaufmann
Paperback ISBN:
eBook ISBN:

About the Authors

Maurice Herlihy

Maurice Herlihy received an A.B. in Mathematics from Harvard University, and a Ph.D. in Computer Science from M.I.T. He has served on the faculty of Carnegie Mellon University, on the staff of DEC Cambridge Research Lab, and is currently a Professor in the Computer Science Department at Brown University. Dr. Herlihy is an ACM Fellow, and is the recipient of the 2003 Dijkstra Prize in Distributed Computing. He shared the 2004 Gödel Prize with Nir Shavit, with whom he also shared the 2012 Edsger W. Dijkstra Prize In Distributed Computing.

Affiliations and Expertise

Brown University, Providence, RI, USA

Nir Shavit

Nir Shavit received a B.A. and M.Sc. from the Technion and a Ph.D. from the Hebrew University, all in Computer Science. From 1999 to 2011 he served as a member of technical staff at Sun Labs and Oracle Labs. He shared the 2004 Gödel Prize with Maurice Herlihy, with whom he also shared the 2012 Edsger W. Dijkstra Prize in Distributed Computing. He is a Professor in the Electrical Engineering and Computer Science Department at M.I.T. and the Computer Science Department at Tel-Aviv University.

Affiliations and Expertise

Professor of Computer Science, Massachusetts Institute of Technology, Cambridge, MA, USA

Victor Luchangco

Victor Luchangco is a Senior Algorithms Researcher at Algorand in Cambridge, MA, USA.

Affiliations and Expertise

Senior Algorithms Researcher, Algorand, Cambridge, MA, USA

Michael Spear

Professor Spear's research interests are broadly in concurrency, programming languages, and computer architecture. His goal is to make it easier for programmers to write correct, scalable applications.

Affiliations and Expertise

Computer Science and Engineering, Lehigh University, Bethlehem, PA, USA


"The book is largely self-contained, has countless examples, and focuses on what really matters. As such, it is very well suited for both a teaching environment and for practitioners looking for an opportunity to learn about this topic...The book is written in a way that makes multiprocessor programming accessible. This updated version will further confirm its status as a classic.", 2013

Ratings and Reviews