Какой класс отвечает за CPU bound задачи в asyncio

Python Middle Без компании
Какой класс отвечает за CPU bound задачи в asyncio
Ответы
В asyncio за CPU-bound задачи отвечает `concurrent.futures.ProcessPoolExecutor`. Он позволяет выносить тяжелые вычисления в отдельные процессы, избегая блокировки event loop. Пример использования: ``` import asyncio from concurrent.futures import ProcessPoolExecutor def cpu_intensive_task(n): return sum(i * i for i in range(n)) async def main(): loop = asyncio.get_running_loop() with ProcessPoolExecutor() as pool: result = await loop.run_in_executor(pool, cpu_intensive_task, 10_000_000) print(result) asyncio.run(main()) ``` **Важно:** - Не путать с `ThreadPoolExecutor` (для IO-bound). - Для передачи данных между процессами используйте pickle-совместимые объекты. - GIL не влияет, так как работа идёт в отдельных процессах.