Встречается на собеседованиях • сегодня
В какой момент происходит переключение контекста
Переключение контекста в Python происходит при выполнении операций ввода-вывода (I/O-bound), системных вызовов или при явном вызове await в асинхронном коде. В синхронном коде GIL (Global Interpreter Lock) предотвращает параллельное выполнение байткода, но поток может быть приостановлен для других потоков.
Пример с asyncio:
python
import asyncio
async def task():
print("Start task")
await asyncio.sleep(1) # Точка переключения контекста
print("End task")
async def main():
await asyncio.gather(task(), task())
asyncio.run(main())Ключевые моменты:
- При
awaitуправление возвращается в event loop - При I/O операциях (сеть, файлы)
- При вызове
yieldв генераторах - При достижении кванта времени в потоках (обычно ~5ms)

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы