Python获取多线程的返回值
有时候会遇到一些方法是通过多线程来执行的,但是这些方法的执行结果无法直接return(返回)出来,因此就需要构造特殊方法将返回值传出来。
目前个人觉得比较好的实现思路为:
- 自己构造一个类(类名自定义,如:MyThread),该类继承threading.Thread
- 对自己构造的类(如:MyThread)进行初始化
- 然后在自己构造的类(如:MyThread)中重写run方法,得到方法的执行结果(result),
- 再构造一个方法(如:get_result方法)将执行结果return出去
- 实例化所构造的类(如:MyThread),启动多线程,然后再通过类名.方法的形式(MyThread.get_result)将执行结果(result)获取出来即可。
实现代码如下:
import threading
# 构造一个类(类名为 MyThread),该类的父类为threading.Thread
class MyThread(threading.Thread