python 多进程返回值,python多线程回调
有朋友在后台给边肖留言,希望提出这个关于多线程返回值的问题。所以,边肖整理了很多内容,最后以各种方式呈现给大家。希望你在不同的场景下应用时能有不同的效果。一起来看看吧~
Python 从多线程中返回值,有多种方法:
1.编写自己的多线程类并编写方法来返回是很常见的。
2.您可以设置全局队列返回值。
3.也可以使用multi processing . pool . thread pool。
下面写一个类从线程中返回值
#编码:utf-8
进口时间
fromthreadingimportThread
deffoo(编号):
时间.睡眠(20)
returnnumber
classMyThread(线程):
def__init__(self,number):
线程。__init__(self)
self.number=数字
defrun(self):
self.result=foo(自我编号)
defget_result(self):
returnself.result
thd1=MyThread(3)
thd2=MyThread(5)
thd1.start()
thd2.start()
thd1.join()
thd2.join()
printthd1.get_result()
另外,自带的Thread 实例并没有返回结果的方法. 需要自己实现,自己定义一个类:
classCustomTask:
def__init__(self):
自我。_ result=无
defrun(self,*args,**kwargs):
#您的代码,用于多线程
结果=.
自我。_ result=结果
defget_result(self):
回归自我。_结果
这里实现了get_result方法。
使用
导入线程
ct=CustomTask()
t=螺纹。Thread(target=ct.run,args=(.))
启动()
#一切结束后
Result=ct.get_result()你可以根据以上内容了解自己的需求,在合适的场景下使用以上。相信你的python流程会更充实~如果你还想了解更多python的知识,可以去盛行的IT软件开发工作室查询。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。