Встречается на собеседованиях • сегодня
Что такое принцип кооперативной многозадачности
Принцип кооперативной многозадачности — это подход, при котором задачи добровольно передают управление другим задачам, а не вытесняются принудительно (как в вытесняющей многозадачности). В Python это реализуется через механизм yield в генераторах или async/await в асинхронном коде.
Пример с генераторами:
python
def task1():
for i in range(3):
print("Task 1:", i)
yield # Передача управления
def task2():
for i in range(3):
print("Task 2:", i)
yield # Передача управления
tasks = [task1(), task2()]
while tasks:
for task in tasks[:]:
try:
next(task)
except StopIteration:
tasks.remove(task)Преимущества:
- Проще управлять состоянием
- Нет накладных расходов на переключение контекста
Недостатки:
- Одна зависшая задача может заблокировать всю систему
- Требует явной передачи управления

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