文章目录
本文是并发编程系列博文的开篇。笔者将打算写一系列并发编程相关的博文。下面是具体索引,方便大家查看:
-
- 介绍锁的几种实现机制,自旋锁,两阶段锁,读写锁,混合空间锁等知识
-
并发编程系列:死锁
- 介绍死锁的定义,死锁产生的原因,以及几种解决死锁的方案(活锁、银行家算法、乐光并发控制等)。
- 以哲学家就餐问题为示例实现几种避免死锁的方案。
-
并发编程系列:无锁编程之栈
- 介绍CAS原子操作,并以此实现无锁并发安全的栈。介绍CAS存在的ABA问题,以及解决办法。
- 介绍如何使用指数退避栈解决栈顶争用严重问题
-
并发编程系列:无锁编程之队列
- 介绍有界部分队列,无界完全队列这两种类型队列。
-
并发编程系列:无锁编程之ring buffer
- 介绍ring buffer, 以及MPMC、MPSC、SPMC、SPSC等模型的ring buffer无锁版本实现
-
并发编程系列:无锁编程之优先级队列
- 介绍优先级队列概念
- 基于锁实现和无锁实现的优先级队列
-
并发编程系列:缓存一致性协议、内存屏障