threading.local()
Topic source@神月宗,你之前的确实是 标准的传递函数 我稍微改了一下:
import threading
def print_info():
# 获取当前线程关联的 name,age,score
name = local.A
age = local.B
score = local.C
print("
your infomation:\nname:%5s\nage:%7d\nscore:%5d"
% (name,age,score)
)
def SetValue(name,age,score):
# name,age,score将分别绑定于 ThreadLocal
local.A = name
local.B = age
local.C = score
print_info()
if name == "main":
#创建全局 ThreadLocal 对象
local = threading.local()
t1 = threading.Thread(target=SetValue,args=('Chris iven',19,89),name = 'Thread_iven')
t2 = threading.Thread(target=SetValue,args=('Chris jack',18,90),name = "Thread_jack")
t1.start()
t2.start()
t1.join()
t2.join()
print("OK!")
- 1
神月宗
#coding=utf-8
#传入数据互不干扰!
import threading import time
def print_info(name,age,score):
def SetValue(name,age,score): Name = local.A = name Age = local.B = age Score = local.C = score print_info(Name,Age,Score)
if name == "main": local = threading.local() t1 = threading.Thread(target=SetValue,args=('Chris iven',19,89),name = 'Thread_iven') t2 = threading.Thread(target=SetValue,args=('Chris jack',18,90),name = "Thread_jack") t1.start() t2.start() t1.join() t2.join() print "OK!"
#i will be a pythoner!