juechafun/05-原子化笔记本/Python-线程锁.md
2026-01-22 20:37:04 +08:00

930 B


#领域/Python

#复盘/1

一句话描述

[Python多线程]


核心定义

锁保护的是共享变量的原子操作逻辑

核心用法

with 锁对象: 自动完成「加锁→执行逻辑→解锁」

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

退出标志 = False

def 线程定义():

    while not 退出标志:

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

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

主程序退出
退出标志 = True

子线程.join()