• 技术文章 >Python技术 >Python基础教程

    python thread.local()的实例化

    小妮浅浅小妮浅浅2021-03-19 15:18:52原创3072

    1、说明

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

    2、实例

    import threading
    import random
     
    data = threading.local()
    def show(d):
    try:
            num = d.num    
    except AttributeError:        
    print("线程 %s 还未设置该属性!" % threading.current_thread().getName())    
    else:
      print("线程 %s 中该属性的值为 = %s" % (threading.current_thread().getName(), num))
    def thread_call(d):    
    show(d)    
    d.num = random.randint(1, 100)    
    show(d)
    if __name__ == '__main__':    
    show(data)    
    data.num = 666   
     show(data)    
    for i in range(2):        
    t = threading.Thread(target=thread_call, args=(data,), name="Thread " + str(i))        t.start()

    以上就是python thread.local()的实例化,希望对大家有所帮助。更多Python学习指路:python基础教程

    专题推荐:python threadlocal
    上一篇:python threading模块有哪些函数 下一篇:python创建新线程有哪些方法

    相关文章推荐

    • python递归算法是什么• python Counter的使用• python deque的两大优点• python namedtuple怎样定义一个类• python threading模块有哪些函数

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网