第6章 设计基于锁的并发数据结构

本章主要内容

  • 设计并发数据构结
  • 如何设计
  • 实现数据结构

上一章了解了原子操作和内存模型,本章将对数据结构做一些讨论。

数据结构的选择是解决方案的重要部分,并行程序也不例外。如果数据结构能够并发访问,要么是不变的(不会发生变化,不需同步),要么需要对数据结构进行合理设计。一种方式是使用互斥量,另一种方式是设计能够并发访问的数据结构。

设计并发数据结构时,可以使用多线程中的构建块,比如:互斥量和条件变量。当然,也要保证构建块在并发环境下的线程安全。

本章将了解一些并发数据结构设计的基本准则。然后,再次重温锁和条件变量的基本构建块。最后,了解更复杂的数据结构。