A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

[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~

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马