ThreadLocal的使用

  • ThreadLocal 变量,它本身是一个全局变量,但是每个线程却可以利用它来保存属于自己的私有数据,这些私有数据对其他线程也是不可见的。

  •  1 import threading
     2 #创建全局ThreadLocal对象
     3 local = threading.local()
     4 
     5 def process_student():
     6     student_name = local.name
     7     print('线程名:%s 学生姓名:%s'%(threading.current_thread().getName(),student_name))
     8 
     9 def process_thread(name):
    10     #将传入的name值绑定到local的name上
    11     local.name = name
    12     process_student()
    13 
    14 t1 = threading.Thread(target=process_thread,args=('张三',),name='Thread-A')
    15 t2 = threading.Thread(target=process_thread,args=('李五',),name='Thread-B')
    16 t1.start()
    17 t2.start()

     

  • 1 线程名:Thread-A 学生姓名:张三
    2 线程名:Thread-B 学生姓名:李五

     

     

posted @ 2020-04-13 20:04  小他_W  阅读(336)  评论(0编辑  收藏  举报