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()
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)