Библиотека Multiprocessing, начало работы с потоками и процессами в Python

# pip install multiprocess

from multiprocessing import Pool
from multiprocessing.dummy import Pool as ThreadPool
import time

def zzz(urls):
    urls = urls + " и он обработан"
    time.sleep(5)
    return urls

urls = ["здесь 1 url", "здесь 2 url", "здесь 3 url"]

# Этот параметр устанавливает количество воркеров в пуле. Если оставить это поле пустым, то по умолчанию оно будет равно количеству ядер в вашем процессоре.
# потоки
pool = ThreadPool(4)
# процессы
#pool = Pool()

# отправляем запрос на URL и получаем ответ
# Функция map управляет итерацией последовательности, применяет нужную функцию, и в конце сохраняет все получившиеся результаты в список.
results = pool.map(zzz, urls)
for s in results:
    print(s)

#закрыть
pool.close()
pool.join()

"""
# работает это дело так
# Функция map управляет итерацией последовательности, применяет нужную функцию, и в конце сохраняет все получившиеся результаты в список.
# zzz - функция
# urls = список параметров для функции zzz
results = pool.map(zzz, urls)
# представить себе это можно так
results = []
for url in urls:
    result = zzz(url)
    results.append(result)
"""

Комментариев нет:

Отправить комментарий