Как запустить цикл в 10 потоков?

Доброго времени суток. У меня есть цикл for in, мне необходимо запустить его одновременно в 10 потоков. Подскажите пожалуйста, как это сделать в Python ? Спасибо.
  • Вопрос задан
  • 878 просмотров
Решения вопроса 1
Доброго)
Посмотрите этот код, вдруг он Вам поможет.
import threading
#pip install requests
import requests


def get_status(url, results):
    results[url] = requests.get(url).status_code


sites = ['https://www.google.com/', 'https://www.youtube.com/',
         'https://pastebin.com/', 'https://ru.wikipedia.org/',
         'https://yandex.ru/', 'https://www.pornhub.com/',
         'https://vk.com/', 'https://www.reddit.com/',
         'https://qna.habr.com/', 'https://stackoverflow.com/']*5


results = {}
workers = [threading.Thread(target=get_status(sites[f], results)) for f in range(10)]

for worker in workers:
    worker.start()

for worker in workers:
    worker.join()

for k, v in results.items():
    print(k, v)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Sat0shi
ИБ
Лучше изучить ThreadPoolExecutor и ProcessPoolExecutor
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы