【发布时间】:2021-12-05 09:48:55
【问题描述】:
我正在试验多线程,但不明白为什么它会跳过很多行? 请帮我改进我的代码 我可以使用shutdown fn来改善它吗?
import concurrent.futures
import requests
import json
import time
URLList = []
for i in range(100):
URLList.append("https://randomuser.me/api/")
def getName(urlApi):
print(requests.get(urlApi).json()["results"][0]["name"])
def main():
with concurrent.futures.ThreadPoolExecutor(max_workers=10) as executor:
executor.submit(getName)
executor.map(getName , URLList)
start_time = time.time()
main()
midtime = time.time() - start_time
print(f"--- {midtime} seconds ---")
输出是一些随机行而不是 100 行
{'title': 'Miss', 'first': 'Lily', 'last': 'Johnson'}
{'title': 'Mr', 'first': 'میلاد', 'last': 'سلطانی نژاد'}
{'title': 'Ms', 'first': 'Celina', 'last': 'Henry'}
{'title': 'Mr', 'first': 'آرمین', 'last': 'سالاری'}
{'title': 'Ms', 'first': 'Stans', 'last': 'Ordelman'}
{'title': 'Mr', 'first': 'Matthäus', 'last': 'Hilger'}
{'title': 'Ms', 'first': 'Marta', 'last': 'Flores'}
{'title': 'Mr', 'first': 'Alex', 'last': 'Gutierrez'}
{'title': 'Mr', 'first': 'Hugo', 'last': 'Walker'}
{'title': 'Mr', 'first': 'Vincent', 'last': 'Campbell'}
{'title': 'Mr', 'first': 'آریا', 'last': 'صدر'}
{'title': 'Mr', 'first': 'Lode', 'last': 'Mulderij'}
{'title': 'Miss', 'first': 'Manuela', 'last': 'Rubio'}
{'title': 'Mr', 'first': 'Jacob', 'last': 'Wang'}
{'title': 'Mr', 'first': 'رضا', 'last': 'کامروا'}
{'title': 'Mr', 'first': 'سهیل', 'last': 'مرادی'}
{'title': 'Miss', 'first': 'Kristin', 'last': 'Roberts'}
{'title': 'Mr', 'first': 'Allen', 'last': 'Weaver'}
{'title': 'Miss', 'first': 'Cathy', 'last': 'Johnston'}
{'title': 'Mr', 'first': 'Isaías', 'last': 'da Paz'}
{'title': 'Mr', 'first': 'Felix', 'last': 'Lam'}
{'title': 'Mr', 'first': 'Julio', 'last': 'Chambers'}
{'title': 'Mr', 'first': 'Felix', 'last': 'Johansen'}
{'title': 'Mr', 'first': 'Ruben', 'last': 'Mora'}
{'title': 'Mr', 'first': 'Marco', 'last': 'Diaz'}
{'title': 'Ms', 'first': 'Yvonne', 'last': 'Sims'}
{'title': 'Mr', 'first': 'Conrad', 'last': 'Owren'}
{'title': 'Mr', 'first': 'آرسین', 'last': 'گلشن'}
{'title': 'Mr', 'first': 'Aitor', 'last': 'Santos'}
{'title': 'Ms', 'first': 'Sally', 'last': 'Bell'}
{'title': 'Mr', 'first': 'Valentin', 'last': 'Marquez'}
{'title': 'Mr', 'first': 'Jacob', 'last': 'Mortensen'}
{'title': 'Monsieur', 'first': 'Nicolas', 'last': 'Lucas'}
请帮助我。
【问题讨论】:
标签: python multithreading threadpoolexecutor