надо скачать кучу файлов по разным ссылкам многопоточно (чтоб было быстро)
Планирую использовать threading и queue для этого
Суть в том чтобы создать очередь заданий (в которых будут ссылки) и N тредов, запустить их, а в тредах брать задания из очереди. Как вам такая идея? Есть ли вариант лучше?
aria2 — консольный менеджер скачки файлов. умеет качать в несколько соединений, прокси, очередь скачки, удаленное управление по http, gui, докачка при обрыве соединения и все это из коробки
threading в python не дает нормальной многопоточности. Он ближе к неуправляемой асинхронности. То есть таски выполняются кусками случайного размера, но последовательно друг за другом. Так работает GIL. Тебе нужен либо мультипроцессинг, когда таски шарятся между несколькими экземплярами интерпретатора, либо сторонний параллельный исполнитель, в который передавать таски на выполнение
Разве операции с i/o не освобождают gil? Как раз таки для скачивание файлов многопоточность в самый раз...
Тишка, верни медиа пж
Обсуждают сегодня