python – ThreadPoolExecutor请求==死锁?

python – ThreadPoolExecutor请求==死锁?,第1张

概述我有一个很小的愚蠢的代码,这对谷歌搜索服务提出了很多要求 from concurrent.futures import ThreadPoolExecutorimport requestsimport requests.packages.urllib3requests.packages.urllib3.disable_warnings()def check(page): r = r 我有一个很小的愚蠢的代码,这对谷歌搜索服务提出了很多要求

from concurrent.futures import ThreadPoolExecutorimport requestsimport requests.packages.urllib3requests.packages.urllib3.disable_warnings()def check(page):  r = requests.get('https://www.Google.ru/#q=test&start={}'.format(page * 10))  return len(r.text)import timedef main():  for q in xrange(30):    st_t = time.time()    with ThreadPoolExecutor(20) as pool:      ret = [x for x in pool.map(check,xrange(1,1000))]      print time.time() - st_tif __name__ == "__main__":  main()

它首先起作用,但后来出了问题.所有20个线程都存活,但后来它们什么也没做.我可以在htop看到它们还活着,但实际上我不明白为什么没有发生.

什么想法可能是错的?

解决方法 好像,答案就在那里.

https://github.com/kennethreitz/requests/issues/2649
https://github.com/kennethreitz/requests/issues/2925

总结

以上是内存溢出为你收集整理的python – ThreadPoolExecutor请求==死锁?全部内容,希望文章能够帮你解决python – ThreadPoolExecutor请求==死锁?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1197765.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存