# 竞态条件

> 系统的输出依赖于不受控事件发生的顺序。

- ID: m01834
- 分类: business
- 领域: 管理学

## 定义

系统的输出依赖于不受控事件发生的顺序。如果两个指令同时到达，谁先抢到资源谁就赢，导致结果不可预测（Bug）。脚手架作用：同步管理。当团队中两个人同时修改一份文档，或者两个部门同时抢一个客户时，就会发生竞态。必须引入“锁”机制（Lock）或明确的序列，防止混乱。

## 机制

竞态条件发生在多个操作并发访问共享状态且执行顺序不可控时，最终结果取决于时序。它与"是否出错"无关，而与"谁先谁后"这一随机性绑定。

## 练习

定位所有共享可变状态的访问点，判断是否存在无保护的并发写入。引入互斥锁、原子操作或事务隔离来序列化关键区；在制度上明确审批与操作的先后次序。

## 脚手架用法

同步管理。当团队中两个人同时修改一份文档，或者两个部门同时抢一个客户时，就会发生竞态。必须引入“锁”机制（Lock）或明确的序列，防止混乱。

[阅读网页](https://thinkingmodels.site/entries/detail/m01834)
