# 互斥锁

> 互斥锁（英语：Mutual exclusion，缩写 Mutex）是一种用于多线程编程中，防止两条线程同时对同一公共资源（比如全局变量）进行读写的机制。该目的通过将代码切片成一个一个的临界区域（critical section）达成。临界区域指的是一块对公共资源进行访问的代码，并非一种机制或是算法。一个程序、进程、线程可以拥有多个临界区域，但是并不一定会应用互斥锁。

- ID: m06235
- 分类: decide
- 领域: 决策科学

## 定义

一种最简单的信号量（只有 0 和 1）。确保资源在同一时间只能被一个所有者独占。脚手架作用：所有权的排他性。对于核心决策权或关键资产，必须加 Mutex。如果两个人都有权随意修改同一份文件或指令，系统必然崩溃。明确唯一的 Owner，是秩序的第一步。

## 机制

互斥锁是一种二进制信号量，保证临界资源在同一时刻仅被一个执行单元持有；未获得者阻塞等待，从而避免并发读写导致的数据竞争与不一致。

## 练习

1. 识别需要保护的共享资源（变量、文件、决策权）。 2. 访问前加锁（lock）。 3. 在临界区内操作。 4. 离开后立即解锁（unlock）。 5. 确保任何路径（含异常）都能释放锁，避免死锁。

## 脚手架用法

所有权的排他性。对于核心决策权或关键资产，必须加 Mutex。如果两个人都有权随意修改同一份文件或指令，系统必然崩溃。明确唯一的 Owner，是秩序的第一步。

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