Python多线程获取返回值代码实例
这篇文章主要介绍了Python多线程获取返回值代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
在使用多线程的时候难免想要获取其操作完的返回值进行其他操作,下面的方法以作参考:
一,首先重写threading类,使其满足调用特定的方法获取其返回值
importthreading classMyThread(threading.Thread): """重写多线程,使其能够返回值""" def__init__(self,target=None,args=()): super(MyThread,self).__init__() self.func=target self.args=args defrun(self): self.result=self.func(*self.args) defget_result(self): try: returnself.result#如果子线程不使用join方法,此处可能会报没有self.result的错误 exceptException: returnNone
二,调用get_result()方法,最终列表retval就是多线程返回值的集合:
defparse_detail_page(self,items_list): retval,RetList,_Threads=[],[],[] forurlinitems_list: t=MyThread(target=self.threadItem,args=(url,)) t.start() _Threads.append(t) fortin_Threads: t.join() retval.append(t.get_result()) defthreadItem(self,url): """多线程请求""" response=requests.get(url) returnresponse.text
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。