930 B
930 B
#领域/Python
#复盘/1
一句话描述
[Python多线程]
核心定义
锁保护的是共享变量的原子操作逻辑
核心用法
with 锁对象: 自动完成「加锁→执行逻辑→解锁」
import threading
线程锁 = threading.Lock() # 全局唯一锁,保护所有共享变量
退出标志 = False
def 线程定义():
while not 退出标志:
写变量_临时 = 耗时操作
# 所有读写共享变量的操作,均用这一把锁
with 线程锁:
# 对共享变量的核心操作:读/写/清空/赋值
写变量 = 写变量_临时 # 写变量原子操作
读变量_临时 = 读变量 # 读变量原子操作
耗时操作(读变量)
子线程 = threading.Thread(target=线程定义)
子线程.start()
主程序退出
退出标志 = True
子线程.join()