import threading
"""
threading.local()
可以把 对象看成一个全局的字典对象,在每个线程内访问local对象的某个键值得时候都是独立的,省去了加锁管理。
解决了参数在一个函数中互相传递的问题。
"""
local = threading.local()
def get_user():
print(local.user_name) # 直接调用 调用此函数的函数内设置的local属性user_name
def get_info(name):
local.user_name = name # 设置当前线程内,user_name属性
get_user() # 在此函数中可以直接调用上一步设置的user_name属性
if __name__ == '__main__':
p1 = threading.Thread(target=get_info, args=('张三',))
p2 = threading.Thread(target=get_info, args=('李四',))
p1.start()
p2.start()
Python threading local参数在函数中互相传递
最新推荐文章于 2023-01-02 18:21:25 发布