当前位置: 首页 > 图灵资讯 > 行业资讯> 如何使用Python获取多线程返回值?

如何使用Python获取多线程返回值?

发布时间:2025-12-01 20:57:25

图片2.png

在此期间,小编在工作中使用最多的是多线程,在此过程中,不可避免地需要获得多线程操作后的返回值进行其他操作。经过一些咨询和操作,小编发现你可以在threading、在Thread的基础上进行封装以获得返回值,小编总结了这两种方法,快来看看。

第一:在threading中使用全球变量

在threading中,没有办法实现返回值,因此我们可以利用全局变量实现返回值的获取。

fromthreadingimportThread

_sum=0


defcal_sum(begin,end):
#声明使用全局变量
global_sum
foriinrange(begin,end+1):
_sum+=i


if__name__='__main__':
t1=Thread(target=cal_sum,args=(1,5))
t2=Thread(target=cal_sum,args=(6,10))
t1.start()
t2.start()

print(_sum)

第二:重写Thread类,自定义一个get_result()

fromthreadingimportThread


#_sum=0


defcal_sum(begin,end):
#global_sum
_sum=0
foriinrange(begin,end+1):
_sum+=i
return_sum

"""重新定义带回值的线程类"""


classMyThread(Thread):
def__init__(self,func,args):
super(MyThread,self).__init__()
self.func=func
self.args=args

defrun(self):
self.result=self.func(*self.args)

defget_result(self):
try:
returnself.result
exceptException:
returnNone


if__name__='__main__':
t1=MyThread(cal_sum,args=(1,5))
t2=MyThread(cal_sum,args=(6,10))
t1.start()
t2.start()
t1.join()
t2.join()
res1=t1.get_result()
res2=t2.get_result()

print(res1+res2)

以上是小编总结的获取多线程返回值的方法。您可以尝试两种方法,然后选择合适方便的方法进行操作~更多Python学习推荐:https://www.py.cn/

相关文章

如何使用Python获取多线程返回值?

如何使用Python获取多线程返回值?

2025-12-01
python随机数组如何生成?

python随机数组如何生成?

2025-12-01
python数据类型如何转换?

python数据类型如何转换?

2025-12-01
python3字符串输出常见面试题目有哪些?

python3字符串输出常见面试题目有哪些?

2025-11-28
python基础之如何用if语句判断多个条件?

python基础之如何用if语句判断多个条件?

2025-11-28
python格式化符号怎么用?

python格式化符号怎么用?

2025-11-28