Встречается на собеседованиях • сегодня
Какие знаешь блокирующие функции при работе с асинхронностью
В асинхронном коде блокирующие функции — это любые синхронные операции, которые останавливают выполнение 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
интервью вопросы и ответы