# C# 并发与同步检查清单

## lock 与同步原语

- `lock` 目标是否私有且稳定；是否存在可证的死锁（嵌套锁顺序、跨 await 持锁）。
- `Monitor`、`Mutex`、信号量是否在失败路径释放。

## 并发集合与原子

- `ConcurrentDictionary` 等用法是否仍需要额外同步（复合操作）。
- `Interlocked`、易失字段是否与内存可见性需求匹配。

## 线程与 Task

- 是否不必要地 `Task.Run` 包装纯 CPU 同步代码导致线程池压力；后台任务是否在宿主关闭时可取消。
