ProcessPoolExecutor из concurrent.futures — пул процессов для CPU-bound задач. API идентичен ThreadPoolExecutor: submit(), map(), as_completed(). Каждый воркер — отдельный процесс с собственным GIL. Аргументы и результаты сериализуются через pickle — нельзя передавать lambda, вложенные функции, незакрытые файлы. max_workers по умолчанию — число ядер CPU. Стартуп дороже потоков, но для CPU-задач даёт реальный параллелизм. Для небольших задач overhead pickle может перевесить выигрыш.
Что такое process pool?
Middle
214 просмотровAFK Offer AI
Как работают background tasks в FastAPI?