Q05·问题驱动
为什么互斥锁会降低并发性能?
深入解答
互斥锁的性能问题源于多个层面的开销。在 L4(CPU 微架构)层面,获取锁需要原子操作(如 CAS),这会阻止 CPU 的乱序执行和流水线优化;在 L8(操作系统)层面,锁竞争导致线程阻塞和上下文切换,每次切换需要 1-10μs(保存/恢复寄存器、切换页表);在 L13(分布式架构)层面,分布式锁需要网络通信(50-200ms 跨数据中心),且存在单点故障风险。优化策略:减少锁的持有时间、使用细粒度锁(锁多个小对象而非一个大对象)、使用无锁数据结构(基于 CAS)、读写锁(读多写少场景)、锁分离(不同操作使用不同的锁)。