Description
Book SynopsisTrade Review"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." --ComputingReviews.com, 2013
Table of Contents1. Introduction 2. Mutual exclusion 3. Concurrent objects 4. Foundations of shared memory 5. The relative power of synchronization operations 6. Universality of consensus 7. Spin locks and contention 8. Monitors and blocking synchronization 9. Linked lists: The role of locking 10. Queues, memory management, and the ABA problem 11. Stacks and elimination 12. Counting, sorting and distributed coordination 13. Concurrent hashing and natural parallelism 14. Skiplists and balanced search 15. Priority queues 16. Scheduling and work distribution 17. Data parallelism 18. Barriers 19. Optimism and manual memory management 20. Transactional programming Appendix A: Software basics Appendix B: Hardware basics