参考答案
结论:sync.Mutex互斥锁保证同一时刻仅一个goroutine进入临界区。核心要点:基于原子CAS、自旋与信号量休眠实现;有正常和饥饿两种模式。原理:Lock()先尝试原子交换获取锁,失败则自旋少量次数后休眠排队;Unlock()释放锁并唤醒等待队列首个goroutine。正常模式下新来的goroutine可能抢到锁,降低延迟;饥饿模式下等待超1ms的goroutine优先获锁,保证公平。对比读写锁:互斥锁不区分读写,通用但并发低;适用于任意临界资源保护。注意避免复制已使用的Mutex。