gpt4 book ai didi

python - ThreadPoolExecutor + Requests == 死锁?

转载 作者:太空宇宙 更新时间:2023-11-03 11:45:23 25 4
gpt4 key购买 nike

我有一个很小的愚蠢代码,它向谷歌搜索服务发出了很多请求

from concurrent.futures import ThreadPoolExecutor
import requests

import requests.packages.urllib3
requests.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 time

def 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_t

if __name__ == "__main__":
main()

它首先起作用,但随后出现问题。所有 20 个线程都处于事件状态,但随后它们什么也不做。我可以在 htop 中看到它们还活着,但实际上我不明白为什么什么都没有发生。

任何想法可能是错误的?

最佳答案

这是一个已知问题,请求团队没有获得足够的调试信息,请参阅 this .可能是 CPython 问题,请参阅 this .

关于python - ThreadPoolExecutor + Requests == 死锁?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40891497/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com