Встречается на собеседованиях • сегодня
Что такое кооперативная вычисляющая многозадачность
Кооперативная многозадачность - это подход, где задачи добровольно передают управление другим задачам, а не вытесняются принудительно. В 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` для передачи управления
- Нет принудительного переключения между задачами
- Проще реализация, чем у вытесняющей многозадачности
- Одна задача может заблокировать всю систему, если не отдаст управление
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы