Встречается на 1% собеседований по Python
Какие знаешь блокирующие функции при работе с асинхронностью
В асинхронном коде блокирующие функции — это любые синхронные операции, которые останавливают выполнение event loop, пока не завершатся. Основные примеры:
- Синхронный I/O —
time.sleep(),requests.get(), чтение/запись файлов безaiofiles. - Вычисления — CPU-bound задачи (например, сложные математические операции).
- Синхронные вызовы БД —
sqlite3,psycopg2без асинхронных аналогов.
Пример блокирующего кода в asyncio:
python
import time
async def bad_example():
time.sleep(5) # Блокирует event loopРешение — использовать асинхронные аналоги:
python
import asyncio
async def good_example():
await asyncio.sleep(5) # Не блокируетДля CPU-bound задач используйте loop.run_in_executor():
python
async def heavy_computation():
await loop.run_in_executor(None, cpu_intensive_task)
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы