[Python] 纯文本查看 复制代码
import threading
class ResThread(threading.Thread):
'''重写线程类'''
def __init__(self, func, *args, **kwargs):
super().__init__() # 调用父类初始化方法
self.func = func
self.args = args
self.kwargs = kwargs
self.result = None
def run(self):
'''重写run方法, 用变量接收函数返回值'''
self.result = self.func(*self.args, **self.kwargs)
def getResult(self):
'''增加获取结果函数, 待程序执行完毕之后才可获取'''
if self.result:
return self.result
else:
raise Exception("The current thread is not executed")
def fn():
return "我是返回值!"
t1 = ResThread(fn) # 创建自定义线程对象
t1.start() # 启动线程任务
t1.join() # 等待线程执行完毕
print(t1.getResult()) # 获取并打印返回值
实现之前觉着可能还蛮复杂的, 实现之后也不过如此, 望能帮到诸位.
end~ |