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

    python thread.local()的实例化

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

    1、说明

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

    2、实例

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    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学习网