Встречается на собеседованиях • сегодня
Все ли операции можно сделать асинхронными
Нет, не все операции можно сделать асинхронными. Асинхронность эффективна для I/O-bound задач (сетевые запросы, работа с файлами, БД), где есть ожидание. CPU-bound задачи (тяжелые вычисления) не выигрывают от async, так как они блокируют event loop. Для них лучше использовать multiprocessing.
Пример асинхронного кода (I/O-bound):
python
import asyncio
async def fetch_data():
await asyncio.sleep(1) # имитация I/O операции
return "data"
async def main():
result = await fetch_data()
print(result)
asyncio.run(main())Для CPU-bound задач используйте:
python
from multiprocessing import Pool
def heavy_computation(x):
return x * x
with Pool() as p:
print(p.map(heavy_computation, [1, 2, 3]))
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы