Встречается на собеседованиях • сегодня

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

В asyncio за CPU-bound задачи отвечает concurrent.futures.ProcessPoolExecutor. Он позволяет выносить тяжелые вычисления в отдельные процессы, избегая блокировки event loop.

Пример использования:

python
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())

text

**Важно:**  
- Не путать с `ThreadPoolExecutor` (для IO-bound).  
- Для передачи данных между процессами используйте pickle-совместимые объекты.  
- GIL не влияет, так как работа идёт в отдельных процессах.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы