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

Что такое кооперативная вычисляющая многозадачность

Кооперативная многозадачность - это подход, где задачи добровольно передают управление другим задачам, а не вытесняются принудительно. В Python это реализуется через генераторы и yield.

Пример с генераторами:

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:
current = tasks.pop(0)
try:
next(current)
tasks.append(current)
except StopIteration:
pass

text

Ключевые особенности:
- Задачи должны явно вызывать `yield` для передачи управления
- Нет принудительного переключения между задачами
- Проще реализация, чем у вытесняющей многозадачности
- Одна задача может заблокировать всю систему, если не отдаст управление
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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