Python-线程-使用threading.local()优化线程内部函数参数传递

import threading

# 创建全局ThreadLocal对象:
local_school = threading.local()

def process_student():
    # 获取当前线程关联的student:
    std = local_school.student
    print('Hello, %s (in %s)' % (std, threading.current_thread().name))

def process_thread(name):
    # 绑定ThreadLocal的student:
    local_school.student = name
    process_student()

t1 = threading.Thread(target= process_thread, args=('数据库实例1',), name='Thread-1')
t2 = threading.Thread(target= process_thread, args=('老王',), name='Thread-B')
t1.start()
t2.start()
t1.join()
t2.join()

运行结果:

Hello, 数据库实例1 (in Thread-1)
Hello, 老王 (in Thread-B)

猜你喜欢

转载自blog.csdn.net/weixin_44151971/article/details/85232626
今日推荐