Встречается на собеседованиях • сегодня

Что такое переключение контекста

Переключение контекста — это процесс сохранения состояния текущего потока выполнения (например, регистры процессора, указатель стека) и восстановления состояния другого потока. В Python это происходит при переключении между корутинами (async/await), потоками (threading) или процессами (multiprocessing).

Пример с корутинами:

python
import asyncio

async def task1():
    print("Task 1 start")
    await asyncio.sleep(1)  # Переключение контекста
    print("Task 1 end")

async def task2():
    print("Task 2 start")
    await asyncio.sleep(1)  # Переключение контекста
    print("Task 2 end")

async def main():
    await asyncio.gather(task1(), task2())

asyncio.run(main())

Ключевые моменты:

  • Время переключения меньше чем у потоков (т.к. нет системных вызовов)
  • Управляется event loop'ом, а не ОС
  • Требует явных точек переключения (await)
  • Сохраняется только состояние выполнения, а не всей программы
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы