Что знаешь о работе с высокоуровневыми абстракциями, такими как пулы задач

Python Junior Без компании
Что знаешь о работе с высокоуровневыми абстракциями, такими как пулы задач
Ответы
В Python для работы с высокоуровневыми абстракциями, такими как пулы задач, часто используют модуль `concurrent.futures`. Он предоставляет интерфейсы `ThreadPoolExecutor` и `ProcessPoolExecutor` для параллельного выполнения задач в потоках или процессах. Пример использования `ThreadPoolExecutor`: ``` from concurrent.futures import ThreadPoolExecutor def task(n): return n * n with ThreadPoolExecutor(max_workers=3) as executor: futures = [executor.submit(task, i) for i in range(5)] results = [f.result() for f in futures] print(results) # [0, 1, 4, 9, 16] ``` Ключевые особенности: - Автоматическое управление пулом потоков/процессов. - Возможность асинхронного ожидания через `as_completed()`. - Поддержка контекстного менеджера для корректного завершения. Для более сложных сценариев можно использовать `multiprocessing.Pool` или асинхронные подходы (`asyncio`).