python线程等待_Python线程等待返回

这是另一种解决方案。

您需要检查每个线程是否“活动”或已完成其任务。下面是一段简单的代码,向您展示逻辑:import threading

import time

requests = {}

urls = ['www.google.se', 'inbox.google.com']

class fetch_single(threading.Thread):

def __init__ (self, url):

threading.Thread.__init__(self)

self.url = url

self.response = None

def html(self):

return self.response.getData()

def run(self):

self.response = consumer.fetch(self.url)

requests[self.url] = self.html()

for url in urls:

thread = fetch_single(url)

thread.start()

while len(threading.enumerate()) > 1:

time.sleep(1)

for url in requests:

html = requests[url]

while len(threading.enumerate()) > 1将检查是否所有子线程都已完成/终止,但主线程(您的脚本)是否仍处于活动状态。

通常在这个循环中,你会检查线程内部的值,或者用某种通信系统来检查线程是否完成了处理。在

但这会给你一个更好的起点。在

还请注意,我选择将HTML数据保存在一个名为requests的全局变量中,而不是从线程中获取数据,因为这将是一个锁定操作。通常你会做一些事情,比如:

^{pr2}$

请注意,将while len...替换为:for thread in threading.enumerate():

thread.check_html()

或者是那些最适合你需要的东西。在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值