Как запустить блок кода для всех элементов списка одновременно в Python
У меня есть список, в котором я хочу запустить блок кода, но список состоит из пары тысяч элементов, и для их перебора требуется слишком много времени.
Есть ли способ, чтобы мой скрипт мог одновременно выполнять проверку каждого элемента в этом списке?
Мой код выглядит так:
def check_url(url_loc):
response1 = requests.get(url_loc)
time.sleep(10)
response2 = requests.get(url_loc)
if response1 != response2:
print(url_loc + "has changed go check now:" + url_loc)
else:
pass
while True:
all(check_url(loc) for loc in sitelocations)
2 ответа
Если вы действительно хотите сделать это одновременно, вы можете использовать потоки. Вот веб-сайт о потоках: https://docs.python.org/3.4/library/threading.html Но я уверен, что есть более простой способ. Потоки - это как делать все понемногу, пока все не будет сделано, и это действительно сложно. Я думаю, вы могли бы просто попытаться ускорить ваш код. Если вы используете IDLE, он всегда будет медленным, и время, которое вы получите, не будет правильным. Это может на самом деле идти намного быстрее. Надеюсь, это поможет.