Я совсем новичок ie в python, поэтому, пожалуйста, ответьте на мой новый ie вопрос.
Я пытаюсь запустить набор задач в пуле, чтобы ускорить процесс, но я m не вижу улучшения скорости.
Я попытался запустить его двумя разными способами, чтобы выяснить, что происходит, и мои выходные данные показывают, что используется только один PID. Означает ли это, что я неправильно использую пулы?
Я сделал небольшой макет на основе скрипта, который пытаюсь запустить:
import sys, shutil, time,
from multiprocessing import Pool, TimeoutError
def download(link):
print(os.getpid())
print("done!"
def download(links):
print("done 2 !")
for link in links:
print(os.getpid())
if __name__ == '__main__':
list_of_links=[...]
pool = Pool(processes=4)
#option 1
# [pool.apply_async(download(link),(link,)) for link in list_of_links]
#option 2
pool.map(download(list_of_links),list_of_links)
На выходе отображается один и тот же PID (при каждом вызове)
Для варианта 1
22300
done!
22300
done!
22300
для варианта 2
done 2 !
20328
20328
20328
20328
Это нормальное поведение? или ? Я что-то не так делаю?