C语言并发编程实战
📚 共计 30 章节
01
并发编程概述
什么是并发 · 并发与并行 · C语言支持 · 学习路径
入门
概念
02
进程基础
进程概念 · 状态转换 · PCB · 创建与终止
进程
核心
03
线程基础
线程概念 · 进程区别 · 创建终止 · 属性
线程
基础
04
线程同步与互斥
竞态条件 · 临界区 · 互斥锁原理与使用
同步
互斥锁
05
互斥锁进阶
死锁预防 · 递归锁 · 读写锁
死锁
读写锁
06
条件变量
条件变量原理 · 生产者-消费者 · 使用技巧
条件变量
模型
07
信号量
信号量概念 · POSIX信号量 · 解决同步
信号量
同步
08
屏障与栅栏
屏障概念 · pthread_barrier_t · 分治计算
屏障
并行
09
原子操作
原子概念 · C11原子类型 · 内存序
原子
内存序
10
自旋锁
自旋锁原理 · 与互斥锁选择 · 实现
自旋锁
性能
11
读写锁
读写锁原理 · pthread_rwlock_t · 性能分析
读写锁
并发
12
线程安全的数据结构
无锁队列 · 线程安全栈 · 哈希表
数据结构
无锁
13
线程池
设计原理 · 实现 · 任务调度
线程池
调度
14
异步编程
异步I/O概念 · aio_read/write · 模型
异步
I/O
15
Future与Promise
Future/Promise模式 · C语言实现 · 异步结果
Future
Promise
16
协程基础
协程概念 · 与线程区别 · ucontext库
协程
ucontext
17
协程进阶
协程调度器 · 切换实现 · 性能优化
调度
优化
18
内存模型与内存序
C11内存模型 · happens-before · 六种内存序
内存模型
内存序
19
无锁编程
CAS操作 · ABA问题 · 无锁数据结构
无锁
CAS
20
并发设计模式
不变模式 · 保护性暂停 · 两阶段终止 · 工作窃取
设计模式
并发
21
并发调试与性能分析
GDB多线程 · ThreadSanitizer · 性能工具
调试
性能
22
并发测试
测试挑战 · 确定性测试 · 压力测试 · 模糊测试
测试
压力
23
多进程编程
fork() · IPC · 共享内存 · 消息队列
进程
IPC
24
信号处理
信号分类 · 信号处理函数 · 异步信号安全
信号
异步
25
OpenMP基础
OpenMP概念 · 并行区域 · 工作共享 · 数据作用域
OpenMP
并行
26
OpenMP进阶
OpenMP任务 · 同步 · 性能调优
任务
调优
27
MPI基础
MPI概念 · 点对点通信 · 集体通信 · 程序结构
MPI
分布式
28
MPI进阶
MPI数据类型 · 通信器 · 并行I/O
MPI
I/O
29
GPU编程入门
CUDA基础 · GPU架构 · 核函数 · 内存层次
GPU
CUDA
30
综合实战
高并发Web服务器 · 设计实现 · 性能对比优化
实战
Web