Встречается на 2% собеседований по Python
Все ли операции можно сделать асинхронными
Нет, не все операции можно сделать асинхронными. Асинхронность эффективна для 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
интервью вопросы и ответы