首页
›
后端、数据与云原生工程
›
052-并发编程与任务调度工程
›
《并发故障与竞态诊断工程》
VIP10
本课程属于:052-并发编程与任务调度工程
后端、数据与云原生工程 · 共 10 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
系统编程多线程底层原理
📚 共计 30 章节
01
进程与线程的千年纠葛
冯·诺依曼体系到现代操作系统的并发革命,PCB底层数据结构,线程是轻量级进程的本质。
PCB
轻量级
02
线程的诞生与消亡
pthread_create的glibc源码,clone系统调用参数奥秘,线程栈分配策略与默认大小。
glibc
clone
栈
03
用户态与内核态
CPU特权级硬件设计,系统调用完整路径(int 0x80→sysenter/sysexit),切换代价。
特权级
syscall
04
线程的生命周期管理
就绪/运行/阻塞/等待/终止状态转换,ps/top查看状态,僵尸与孤儿线程处理。
状态机
僵尸线程
05
上下文切换的代价
TLB失效、Cache污染、寄存器保存恢复,实测损失多少CPU周期。
TLB
Cache
延迟
06
线程调度算法深度解析
CFS完全公平调度器红黑树实现,nice值与权重,调度延迟与最小粒度。
CFS
红黑树
07
线程优先级与亲和性
实时调度SCHED_FIFO/RR,sched_setaffinity绑核,大页缓存优化。
实时
绑核
大页
08
互斥锁的底层实现
原子操作→futex快速互斥锁,自旋锁vs互斥锁,公平性与饥饿问题。
futex
自旋锁
09
读写锁与RCU机制
读写锁偏向策略,RCU无锁读实现,内核RCU使用案例。
RCU
无锁读
10
条件变量与信号量
pthread_cond_wait虚假唤醒,信号量PV原子性,生产者-消费者正确实现。
条件变量
PV
11
内存屏障与指令重排
CPU乱序执行,Store Buffer/Invalidate Queue,volatile与mfence/lfence/sfence。
乱序
屏障
12
线程安全的数据结构
无锁队列CAS实现,ABA问题,Hazard Pointer/RCU内存回收。
无锁
ABA
13
线程池的设计与实现
四种模型(固定/缓存/工作窃取/调度),任务队列锁粒度优化,动态扩缩容。
线程池
工作窃取
14
协程与纤程
用户态线程终极形态,ucontext/setjmp/longjmp,C++20协程编译器魔法。
协程
ucontext
15
Goroutine与Erlang进程
Go调度器GMP模型,Erlang Actor模型与进程间通信,对比OS线程。
GMP
Actor
16
线程局部存储 (TLS)
__thread关键字实现,ELF的TLS段,__tls_get_addr解析过程。
TLS
ELF
17
死锁的检测与预防
四个必要条件,银行家算法,helgrind/lockdep检测工具。
死锁
helgrind
18
竞态条件与数据竞争
ThreadSanitizer原理,数据竞争检测,C++11 memory_order详解。
TSan
memory_order
19
原子操作与CAS
CPU原子指令(LOCK前缀),CAS的ABA问题,C++11 atomic底层实现。
LOCK
CAS
20
多线程调试与性能分析
GDB多线程调试,perf top热点分析,Valgrind DRD/Helgrind工具。
GDB
perf
Valgrind
21
线程安全的内存分配
TCMalloc/JEMalloc线程缓存,Arena分配器,内存池设计。
TCMalloc
Arena
22
多线程I/O模型
阻塞/非阻塞/多路复用(select/poll/epoll),Reactor与Proactor模式。
epoll
Reactor
23
异步编程与Future
std::async/std::future,Promise模式,回调地狱与协程解决方案。
Future
Promise
24
线程间通信
共享内存、消息队列、管道、信号,mmap底层,无锁通信设计。
mmap
无锁通信
25
NUMA架构下的线程优化
内存本地性与远程性,numactl工具,绑核与内存绑定。
NUMA
numactl
26
多线程性能调优
Amdahl/Gustafson定律,锁粒度拆分,伪共享(False Sharing)检测与避免。
伪共享
Amdahl
27
实时系统与多线程
硬实时/软实时,优先级反转与继承协议,RT-Linux线程调度。
实时
优先级反转
28
多线程安全编程规范
Google C++ Style多线程部分,MISRA C++规则,防御性编程技巧。
规范
MISRA
29
多线程在数据库中的应用
InnoDB锁系统,MVCC多版本并发控制,事务隔离级别实现。
MVCC
InnoDB
30
多线程在分布式系统中的应用
分布式锁(ZooKeeper/etcd),Raft共识线程模型,无锁数据结构在DPDK中的应用。
Raft
DPDK
所属VIP或分类
同VIP:多线程并发编程工程
同VIP:多线程开发实战100例
同VIP:并发性能与吞吐优化工程