Что такое thread pool и как его использовать?

Middle
279 просмотров
AFK Offer AI

ThreadPoolExecutor из concurrent.futures — пул потоков для параллельного выполнения I/O-bound задач. Создаёшь пул с max_workers, передаёшь задачи через executor.submit(func, args) — получаешь Future. executor.map(func, iterable) — как map, но параллельно. with ThreadPoolExecutor(max_workers=10) as executor — автоматический shutdown. В asyncio: await loop.run_in_executor(executor, sync_func) — запускает синхронную функцию в пуле потоков без блокировки loop. Размер пула — обычно 5-20 для сетевых задач.

Следующий вопрос

Что такое httpx и чем отличается от requests?