python thread.local()的实例化

1、说明

threading.local()实例化全局对象,该全局对象有大字典,键值为两个弱引用对象{线程对象、字典对象},通过current_thread()获取当前线程对象,并根据该对象获取相应的字典对象。

2、实例

importthreading
importrandom

data=threading.local()
defshow(d):
try:
num=d.num
exceptAttributeError:
print("线程%s还未设置该属性!"%threading.current_thread().getName())
else:
print("线程%s中该属性的值为=%s"%(threading.current_thread().getName(),num))
defthread_call(d):
show(d)
d.num=random.randint(1,100)
show(d)
if__name__=='__main__':
show(data)
data.num=666
show(data)
foriinrange(2):
t=threading.Thread(target=thread_call,args=(data,),name="Thread"+str(i))t.start()
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。