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()
以上就是python thread.local()的实例化,希望对大家有所帮助。