作者: | Maurice Herlihy, Nir Shavit, Victor Luchangco and Michael Spear |
语言: | 英文 |
出版年份: | 2020 |
下载链接: |
书籍均收集自互联网,仅供学习和研究使用,请莫用于商业用途。谢谢合作。 |
《The Art of Multiprocessor Programming》第二版是一本涵盖多核处理器编程的权威教材和参考书籍。本书由Maurice Herlihy、Nir Shavit、Victor Luchangco和Michael Spear共同撰写,由Morgan Kaufmann出版社出版,是计算机科学领域尤其是并行编程和多核架构方面的经典之作。这本书不仅适合计算机专业学生学习多核编程的基础知识,也是从事相关工作的实践者的宝贵资料。
本书分为两大部分:理论基础和实践应用。理论部分着重介绍并发编程的基本概念、原理和模型,帮助读者建立正确的并发思维模式。实践部分则通过大量实例,展示如何将理论应用于实际的多核编程中,解决实际问题。
理论部分从并行计算的基本概念出发,介绍了多核架构的背景和挑战。书中详细讨论了共享对象、互斥锁、并发对象的正确性条件(如线性化、顺序一致性等)、共享内存的基础、原始同步操作的相对能力、共识的通用性等核心概念。这些内容为读者提供了深入理解并发程序设计的基础。例如,书中通过Alice和Bob的寓言故事,生动地展示了互斥问题的解决思路,让读者能够直观地理解并发控制的难点。
实践部分侧重于多核编程的实际应用,使用Java语言为例详细讲解了各种并发数据结构和同步机制。内容涵盖自旋锁与竞争、监视器与阻塞同步、链表的锁设计、队列的实现、栈的非阻塞同步、计数、排序、并发哈希表、跳表、优先队列等。书中还探讨了任务调度、数据并行主义、事务编程等高级主题,以及C++中的内存管理。例如,在链表的锁设计章节,书中对比了粗粒度锁、细粒度锁和无锁结构,展示了不同锁策略对性能的影响。
《The Art of Multiprocessor Programming》第二版是一本全面深入的多核编程教材,它将复杂的并发编程理论与实际应用紧密结合,为读者提供了一种系统的学习方法。无论是初学者还是经验丰富的开发者,都能从本书中获得宝贵的指导和启发。通过阅读本书,读者将能够掌握多核编程的核心技能,并将其应用于实际的软件开发中,提升程序的性能和可靠性。