
---
#领域/Python 

#复盘/3

## 一句话描述

[____Python多线程____]

---

## 核心定义

锁保护的是共享变量的原子操作逻辑
`with 锁对象:` 自动完成「加锁→执行逻辑→解锁」

```python
import threading
线程锁 = threading.Lock()  # 全局唯一锁，保护所有共享变量

退出标志 = False

def 线程定义():

    while not 退出标志:

        写变量_临时 = 耗时操作
        
        # 所有读写共享变量的操作，均用这一把锁
        with 线程锁:
            # 对共享变量的核心操作：读/写/清空/赋值
            写变量 = 写变量_临时 # 写变量原子操作
            读变量_临时 = 读变量 # 读变量原子操作

        耗时操作(读变量)
        
        
子线程 = threading.Thread(target=线程定义)
子线程.start()

主程序退出
退出标志 = True

子线程.join()
```

