import threading
class MyThread(threading.Thread):
def __init__(self,func,args=()):
super(MyThread,self).__init__()
self.func = func
self.args = args
def run(self):
self.result = self.func(*self.args)
def get_result(self):
try:
# 如果子线程不使用join方法,此处可能会报没有self.result的错误
return self.result
except Exception:
return None
#下面写要调用的接口
#例如,这里是python2,python3的朋友自行更改代码:
def foo(a,b,c):
time.sleep(1)
print a*2,b*2,c*2,
return a*2,b*2,c*2
st = time.time()
li = []
for i in xrange(4):
#这里一定要用重写的类
t = MyThread(foo,args=(i,i+1,i+2))
li.append(t)
t.start()
for t in li:
# 一定要join,不然主线程比子线程跑的快,会拿不到结果
t.join()
print t.get_result()
et = time.time()
print et - st
可以i直接在下面写入你要封装的接口,供模块调用即可。另外对于代码的缩进自己完善!