获取线程函数返回值
通过集成Thread类,改写run方法,获取线程函数的返回值,进一步进行逻辑判断。
以下是样例代码:
import threading
import datetime
def add(a, b):
for iin range(100):
print("当前时间:%s,求和a(%d)+b(%d)+i(%d)" % (datetime.datetime.now(), a, b, i))
return a+b
class MyThread(threading.Thread):
"""
该类集成Thread类,目的是通过线程模拟并发操作,同时获取线程函数的返回值进行逻辑判断
"""
def __init__(self, func, args=()):
super(MyThread, self).__init__()
self.func = func
self.args = args
pass
def run(self):
self.result =self.func(*self.args)
pass
def getResult(self):
try:
return self.result
except Exception as e:
print(e)
return None
pass
if __name__ =='__main__':
th1 = MyThread(add, (3, 7))
th2 = MyThread(add, (4, 5))
th1.setDaemon(True)
th2.setDaemon(True)
th1.start()
th2.start()
th1.join()
th2.join()
print(th1.getResult())
print(th2.getResult())
pass