Python 线程,独立的线程空间(threading.local())

本文通过实例演示了如何使用Python的threading.local()来为每个线程创建独立的数据存储空间,展示如何在线程中安全地修改和访问这些局部变量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import threading
import  time

data=threading.local() #为每个线程提供各自独立(不同)的存储空间

t1=lambda  x:x+1
t2=lambda  x:x+"1"

def  printdata(func,x): #func函数,x代表参数
    data.x=x   #data是一个类,动态添加属性,线程独立  data.x在每个线程中是相互独立的
    print(id(data.x)) #不同的地址
    for i  in range(5):
        data.x=func(data.x) #x+1  x+"1"
        print(threading.current_thread().name,data.x)


threading.Thread(target=printdata,args=(t1,1)).start()
threading.Thread(target=printdata,args=(t2,"1")).start()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值