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()实例化,希望对大家有所帮助。更多Python学习指导:python基础教程