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()
Python 线程,独立的线程空间(threading.local())
最新推荐文章于 2024-08-08 11:24:00 发布