使用类进行封装,重写run方法
# coding:utf-8
import threading, time
# MyThread.py线程类
class MyThread(threading.Thread):
def __init__(self, func, args=()):
super(MyThread, self).__init__()
self.func = func
self.args = args
def run(self):
time.sleep(2)
self.result = self.func(*self.args)
def get_result(self):
threading.Thread.join(self) # 等待线程执行完毕
try:
return self.result
except Exception:
return None
# coding:utf-8
import ThreadClass
# main.py
def add (a, b):
return a + b
if __name__=="__main__":
list = [23, 89]
# 创建4个线程
for i in xrange(4):
task = ThreadClass.MyThread(add, (list[0], list[1]))
task.start()
print(task.get_result())